Sur*_*non 5 java hibernate jpa
我有三个表A,B并C和映射表A_B_C具有外键的所有三个表和其他一些属性(比方说X,Y).现在,我想在我的java类中加入代表这三个表.
这些表之间的关系是一对多的.因此,我希望我的Java类看起来像这样.
@Entity(name = "A")
@Table(name = "A")
public class A {
??? Hibernate Annotation or query
Map<B,List<C>> BMapC;
}
@Entity(name = "B")
@Table(name = "B")
public class B {
...
}
@Entity(name = "C")
@Table(name = "C")
public class C {
...
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以利用Hibernate Annotations.如果没有,有没有办法可以编写自定义查询并填充变量?
不幸的是,hibernate没有为这种情况提供开箱即用的任何注释.只能通过创建一个类映射来处理此场景A_B_C:
@Entity
@Table(name = "A_B_C")
public class name = "A_B_C" {
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "FK_B", nullable = false)
private B b;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "FK_C", nullable = false)
private C c;
//Getters, Setters, other attributes etc.
}
Run Code Online (Sandbox Code Playgroud)
并在A中有一个这个对象的列表:
@Entity
@Table(name = "A")
public class name = "A" {
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name = "FK_A", nullable = false)
private Set<A_B_C> abc;
//Getters, Setters, other attributes etc.
}
Run Code Online (Sandbox Code Playgroud)
并以编程方式将Set abc转换为地图B,C.
| 归档时间: |
|
| 查看次数: |
3039 次 |
| 最近记录: |