【发布时间】:2016-10-03 11:18:00
【问题描述】:
我有两个带有循环引用的表
-----------------| |------------------
product | | product_detail
-----------------| |------------------
product_id <pk> | | detail_id <pk>
... | <-----------------| container_id <fk>
| <-----------------| product_id <fk>
| | ...
我想知道怎么做属性注释
如何做@OneToMany注解
Class Product
@OneToMany ???
public List<Detail> getDetails();
如何做@ManyToOne注解
Class Detail
@ManyToOne ???
public Product getContainer();
@ManyToOne ???
public Product getProduct();
我想使用以下代码:
Product p1 = new Product(name2);
Product p2 = new Product(name1);
Detail d = new Detail();
d.setProduct(p2);
p1.getDetails().add(d);
...
Session.save(p1);
然后休眠insert into product 和insert into detail。
我找不到创建注释以使其正常工作的方法。你能帮帮我吗?
【问题讨论】:
-
mappedBy(在
@OneToMany上)使其成为双向关系。这就是所有需要的 -
是的,这是我在发布之前尝试过的方式,但后来我收到超时超出错误。 @OneToMany(mappedBy="container") 用于 getDetails() 列表,@ManyToOne @JoinColumn(name="container_id") 用于 getContainer()
标签: java hibernate hibernate-annotations