【问题标题】:How to set table name for @ElementCollection in hibernate如何在休眠中为@ElementCollection 设置表名
【发布时间】:2016-12-03 09:13:37
【问题描述】:

我正在使用

public class UserTask extends BaseObject implements Serializable {
    
    @ElementCollection(targetClass = java.lang.String.class) 
    private List<String> userTaskMessage = new ArrayList<>();
   
   .
   .
   .
   .

Hibernate 生成表,名称为usertask_usertaskmessage

如何设置我的名字?例如my_table_example

【问题讨论】:

    标签: java hibernate annotations


    【解决方案1】:

    使用注解@CollectionTable(name="your_table_name")

    【讨论】:

      【解决方案2】:

      JPA:

      @Entity
      @Table(name = "SERVICES")
      public class Service {
      
          @Id
          @Column(name = "ID") 
          private Long id;
      
          @ElementCollection(fetch = FetchType.LAZY)
          @CollectionTable(name = "SERVICE_LINKED_CODES", joinColumns = @JoinColumn(name = "SERVICE_ID"))
          @Column(name = "CODE") 
          private List<String> linkedCodes;
      
      }
      

      数据库中的架构:

      CREATE TABLE SERVICES { ID BIGINT };
      CREATE TABLE SERVICE_LINKED_CODES { SERVICE_ID BIGINT, CODE VARCHAR(255) };
      

      【讨论】:

        猜你喜欢
        • 2011-06-25
        • 2018-01-26
        • 2017-08-17
        • 2011-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-21
        相关资源
        最近更新 更多