[英]Hibernate inverse join for composite primary key
我是新来的冬眠。
我有以下情况,
@Entity(name="A")
Class A {
@Id
int id;
Set<B> listB;
}
@Entity(name="B")
Class B {
@Id
CompositebPK bPk;
}
Class CompositebPK {
@Column(name="id")
int aId;
@Column(name="user_name")
String uname;
}
@Entity (name = "user")
Class User {
@Column (name ="user_name")
String uname;
}
表结构如下,
Table A:
int id
Table B:
int id
String uname
User:
String uname
String password
A对B是1对多的关系。 B对用户是一对多。
我想在A中有B的列表。
解决情况的最佳方法是什么?
在网上,当我搜索时,我只是获得有关简单列的反向连接的信息,如果我尝试不解决这个问题,那么是否有一种特殊的方法来实现这一目标?
尝试以下映射配置:
在A
实体类别中:
@Entity(name="A")
class A {
@Id
int id;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "bPk.a")
@Cascade(value = { CascadeType.DELETE })
Set<B> listB;
}
在CompositebPk
:
class CompositebPK {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({ @JoinColumn(referencedColumnName = "id", nullable = false) })
A a;
@Column(name="user_name")
String uname;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.