簡體   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