【问题标题】:How to create Entity using Hibernate to create a table with two foreign key columns: No identifier specified for entity:如何使用 Hibernate 创建实体以创建具有两个外键列的表:没有为实体指定标识符:
【发布时间】:2018-07-19 17:41:40
【问题描述】:

我正在尝试在我的数据库中创建一个需要两个外键列的表。 但我有一个例外,我不知道如何解决这个错误:

你能帮帮我吗?

例外:

没有为实体指定标识符:com.xxx.client.db.domain.app.PhoneComp

关注我的实体类

PhoneComp.class

/**
 *
 * @author joh
 */
@Entity
@Table(name = "phoneComp")
public class PhoneComp implements Serializable {

   private static final long serialVersionUID = 1L;

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Basic(optional = false)
   @Column(name = "id")
   private Integer id;

   @JoinColumn(name = "cellPhoneRef", referencedColumnName = "id")
   @ManyToOne
   private Cellphone cellPhoneReference;

   @JoinColumn(name = "cellPhoneComp", referencedColumnName = "id")
   @ManyToOne
   private Cellphone cellPhoneComp;

   public PhoneComp() {}

   /**get and sets*/
}

CellPhone.class

/**
 *
 * @author joh
 */
@Entity
@Table(name = "cellphone")
public class Cellphone implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;

    @Column(name = "cellphoneName")
    private String cellphoneName;

    @Basic(optional = false)
    @Column(name = "isActive")
    private boolean isActive;

    @Column(name = "cellphoneBrand")
    private String cellphoneBrand;

    @Column(name = "lastModifiedDate")
    private Date lastModifiedDate;

    public Cellphone() {}

    /**get and sets **/

}

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    您的实体PhoneComp 需要有一个由@Id 注释的主键。

    【讨论】:

    • 嗨 NielsNet,我添加了@id(我更新了这篇文章)但还没有工作。我得到同样的例外。如果这个 id 不正确,您能帮我理解一下吗?
    • @Joh 你是否更新了你的数据库(如果不是由休眠完成的)并重新启动应用程序以便将更改反映在那里?
    【解决方案2】:

    PhoneComp 类缺少带有@Id 注释的字段。每个@Entity 都需要一个@Id - 这是数据库中的主键。

    如果您不希望实体保存在单独的表中,而是希望成为其他实体的一部分,则可以使用 @Embeddable 代替 @Entity。

    【讨论】:

      猜你喜欢
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      相关资源
      最近更新 更多