我需要在JoinColumn中写什么?

时间:2018-01-10 14:52:36

标签: java hibernate

对不起我的问题。真的不能理解我的错误。 我在两个类之间有一个Hibernate关系但是当我运行它时,日志会给我这个错误:

  

org.hibernate.AnnotationException:mappedBy引用        未知的目标实体属性:model.pilgi_doc.PilgiDocument.pilgi中的model.pilgi.Pilgi.PilgiDocument

fisrt类的代码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课程在这里:

@Entity
@Table(name = "pilgi")
public class Pilgi {


    @JoinColumn(name = "pilga")
    @ManyToOne(fetch = FetchType.LAZY)
    private PilgiDocument pdocument_id;

1 个答案:

答案 0 :(得分:2)

您的错误说Hibernate在Pilgi类中找不到PilgiDocument属性:您没有它但是您有一个pdocument_id属性,这是{{PilgiDocument的一个实例1}}

在你的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();

您指明代表Pilgi属性的PilgiDocument类的属性名称

在你的Pilgi类中,你需要在你的@JoinColumn中写下用作PilgiDocument的外键的数据库列的名称