Hibernate将一个孩子更新为一对多

时间:2017-10-31 12:17:51

标签: java hibernate

我是新手,所以我不了解一些基本的东西。 我有实体A和B.这是一对多的关系。所以A可以有多个B. 下面是向A添加新B时要保存的代码。这有效。

fire and forget

但是如何编辑一个B实体?我是否首先必须从Set中删除我想要编辑的B实体? 如果这是一个明显的问题,真的很抱歉。但是我已经在谷歌搜索了,我能找到的唯一例子就是当你创建新实体而不是编辑时。

2 个答案:

答案 0 :(得分:0)

您需要先从数据库中获取B.

B b = this.bService.getBById(BID);
...
//update b
this.bService.updateB(b);

答案 1 :(得分:-1)

//Whether you want update entity B:
Public void updateBEntity(Integer idB) {
 B b = session.get(B.class, idB);
//For edit you only have to use the set's methods:
b.setName(anything);
b.setPosition(2);
//final y, that's all
session.merge(b);
} 
//In your class controller or Action 

有关合并/持久的更多信息:

What is the difference between persist() and merge() in Hibernate?