繁体   English   中英

组合主键的Hibernate反向联接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM