java - 我需要在 JoinColumn 中写什么?

标签 java hibernate

抱歉我的问题。实在无法理解我的错误。 我在两个类之间有 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/

相关文章:

java - org.hibernate.MappingException - 这个异常是什么意思?

java - 即使存在约束违规异常,主键也会自动递增 Mysql(5.6.34)

spring - 无论我放在哪里都找不到 Hibernate import.sql

java - 我可以在servlet中获取客户端的物理地址吗?

java - 如何以正确的方式关闭 socket ?

java - 如何停止链式方法调用?

java - Hibernate SQLQuery 不插入 SELECT

java - 从 Activity 调用 fragment 方法

java - 镜像二叉树

spring - MethodArgumentNotValidException 之后获取无效字段的值