【发布时间】:2013-12-20 09:31:56
【问题描述】:
我对 Hibernate 还很陌生,搜索了一段时间后,我的注释仍然存在问题。
我有 3 个课程:
- AuftragsPosition
- AuftragspositionZuordung(连接表)
- 材质
我想要 AuftragsPosition 和 Material 之间的多对多关系以及连接表上的附加属性。 menge 的附加属性应该可以在 AuftragsPosition 中访问。 我的 Material 应该不知道其他两个表。
这是我的课程:
AuftragsPosition
@Entity
@Table(name = "AUFTRAGSPOSITION")
public class AuftragsPosition extends AbstractVersionedEntity<Long> {
private List<Material> materialien;
@OneToMany(mappedBy = "position", targetEntity = AuftragspositionZuordnung.class, cascade = CascadeType.ALL)
public List<Material> getMaterialien() {
return materialien;
}
}
AuftragspositionZuordnung
@Entity
@Table(name = "ZUORDNUNG_AUFTRAGSPOSITION")
public class AuftragspositionZuordnung extends AbstractVersionedEntity<Long> {
private AuftragsPosition position;
private Material material;
private Integer menge;
@ManyToOne
@JoinColumn(name = "AUFTRAGSPOSITION_ID")
public AuftragsPosition getPosition() {
return position;
}
@ManyToOne(targetEntity = Material.class)
@JoinColumn(name = "MATERIAL_ID")
public Material getMaterial() {
return material;
}
@Column(name = "ANZAHL")
public Integer getMenge() {
return menge;
}
}
你知道我应该如何注释这些类吗?
感谢和亲切的问候, 凯文
【问题讨论】:
-
stackoverflow.com/q/1476600/2006839 检查这是否有帮助
-
您能否指定哪些类之间应具有多对多关系,以及您希望关系属性在哪些类中可用?
-
@Lakshmi - 恐怕链接已经过时了。您可以使用地图对关系属性进行建模。
-
@Lakshmi - 我看过你的链接,但对我没有帮助。
-
@kostja - 我已经用您要求的信息编辑了我的帖子。
标签: java sql hibernate annotations