gpt4 book ai didi

java - Hibernate 上关系复合主键的问题

转载 作者:行者123 更新时间:2023-12-02 10:54:16 25 4
gpt4 key购买 nike

我有这张图 enter image description here

如何在 Hibernate 上创建实体的关系EscalaDetalhes 和 DefinicaoEscala,因为 DefiniciaoEscala 实体上有一个由 idDetalhe (foreign with (EscalaDetalhes)) 和 idTurma(foreign with (Turma)) 组成的复合主键。

我已经完成了如下所示的类(class):

@Embeddable
public class DefinicaoEscalaPK implements Serializable {

@Column(name="myColumn")
private Integer idTurma;
@Column(name="myColumn2")
private Integer idEscalaDia;

//GETTERS , SETTERS , HASH AND EQUALS
}

@Entity
public class DefinicaoEscala implements Serializable {

@EmbeddedId
private DefinicaoEscalaPK id;

@ManyToOne()
@JoinColumn(name = "idTurno")
private TurnoBean turno;

//GETTERS , SETTERS , HASH AND EQUALS
}


@Entity
@Table(name ="table")
public class EscalaDetalhes{
@id
private Integer idDetalhe;
@ManyToOne()
@JoinColumn(name="mybdColumn")
private EscalaBean escala;
@Column(name="myColumn")
private Calendar dia;
//MY QUESTION IS HERE , HOW WOULD I DESCRIBE THE RELATION HERE?
private List<DefinicaoEscala> escalaDiaDetalhes;

//GETTERS , SETTERS , HASH AND EQUALS

}

我的问题是,我该如何描述这种关系?

private List<DefinicaoEscala> escalaDiaDetalhes;

最佳答案

referencedColumnName 基本上用于传达将映射另一个实体的哪一列可用于在当前实体中进行映射,因此,您可以使用属性 referencedColumnName 在提及关系时:

@Entity
@Table(name ="table")
public class EscalaDetalhes{
@id
private Integer idDetalhe;
@ManyToOne()
@JoinColumn(name="mybdColumn")
private EscalaBean escala;
@Column(name="myColumn")
private Calendar dia;
//MY QUESTION IS HERE , HOW WOULD I DESCRIBE THE RELATION HERE?
@OneToMany
@JoinColumn(name="idDetalhe",referencedColumnName="idEscalaDia")
private List<DefinicaoEscala> escalaDiaDetalhes;

//GETTERS , SETTERS , HASH AND EQUALS

}

P.S:这完全基于您共享的代码。

关于java - Hibernate 上关系复合主键的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51901914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com