抱歉我的问题。实在无法理解我的错误。 我在两个类之间有 Hibernate 关系,但是当我运行它时,日志给出了这个错误:
org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: model.pilgi.Pilgi.PilgiDocument in model.pilgi_doc.PilgiDocument.pilgi
第一个类 PilgiDocument 的代码:
@Entity
@Table(name = "pilgi_document")
public class PilgiDocument {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column
private BigInteger pdocument_id;
@OneToMany(mappedBy = "PilgiDocument")
private List<Pilgi> pilgi = new ArrayList();
Pilgi 类(class)在这里:
@Entity
@Table(name = "pilgi")
public class Pilgi {
@JoinColumn(name = "pilga")
@ManyToOne(fetch = FetchType.LAZY)
private PilgiDocument pdocument_id;
最佳答案
您遇到的错误表明 Hibernate 在 Pilgi 类中找不到 PilgiDocument
属性:您没有它,但您有一个 pdocument_id 属性,它是 的一个实例Pilgi文档
在您的 PilgiDodument 类中,您需要编写的是:
@Entity
@Table(name = "pilgi_document")
public class PilgiDocument {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column
private BigInteger pdocument_id;
@OneToMany(mappedBy = "pdocument_id")
private List<Pilgi> pilgi = new ArrayList();
您指定代表 PilgiDocument
属性的 Pilgi
类的属性名称
在 Pilgi 类中,您需要在 @JoinColumn
中写入用作 PilgiDocument 外键的数据库列的名称
关于java - 我需要在 JoinColumn 中写什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190058/