作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在用户表和主题表之间有多对多关系。连接表是user_topic。主题实体有这样的:
@ManyToMany(fetch = FetchType.LAZY, targetEntity = IntermediateUser.class)
@JoinTable(name = "user_topic", catalog = DataBaseConstants.DBCATALOG, joinColumns = { @JoinColumn(name = "topic_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "user_id", nullable = false, updatable = false) })
@Cascade(value = CascadeType.DELETE)
public Set<IntermediateUser> getVotingUsers() {
return votingUsers;
}
我在 transient 主题实例中更新集合“votingUsers”,然后调用 hibernate session 的更新方法。我不使用 setVotingUsers 方法,而是通过 votingUsers.clear()
方法清除 VotingUsers 集合,然后通过 votingUsers.add(voter);
添加要更新,我调用此方法:
sessionFactory.currentSession().update(topic);
因此,我在日志中看到以下几行
DEBUG org.hibernate.SQL- update javahelpdb.topic set content=?, `PUBLISH_DATE`=?, rate=?, forum=?, title=?, user=?, viewquantity=? where topic_id=?
DEBUG org.hibernate.SQL- delete from javahelpdb.user_topic where topic_id=?
DEBUG org.hibernate.SQL- insert into javahelpdb.user_topic (topic_id, user_id) values (?, ?)
所有参数均正确。我希望只有一个查询,例如:
update user_topic set topic_id=?, user_id=? where topic_id=?
如何指示hibernate更新user_topic而不是删除和插入?
谢谢!
最佳答案
我认为这是 hibernate 行为的正常方式。因此,您对此无能为力,如果关系和参数正确,为什么还要麻烦呢?
关于java - 在 hibernate 中更新父对象时多对多关系出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17192191/
当我使用 webpack4.2.0 时,播放“运行开始”,显示错误如下: 配置中的警告 'mode' 选项尚未设置。将“模式”选项设置为“开发”或“生产”以启用此环境的默认值。 多(webpack)-
我是一名优秀的程序员,十分优秀!