我有以下代码,它不执行entityManager.flush()调用。
但是由于某些原因,我的更改在插入公司和用户的entityManager.persist(用户)上被刷新。似乎persist内部调用的是flush。这看起来不太对劲。
我写了整个简单的示例项目,因为我正在调试为什么play1.3不能与这个版本的hibernate一起工作……
https://github.com/deanhiller/Hibernate-example
只需运行./gradlew eclipse即可轻松安装
我还安装了log4jdbc,这样我就可以看到在持久化时发生的insert语句,我发现这非常奇怪。你知道这是怎么回事吗?
理想情况下,如果在手动模式下没有刷新任何内容,则提交不会执行任何操作,而是将我的更改保存到数据库中,这让我觉得很奇怪。
谢谢你,迪恩
发布于 2013-12-02 21:29:44
由于某些原因,我不得不使用GenerationType.SEQUENCE,而不是AUTO,AUTO一定是选择了一个错误的模式或标记,因为它会在persiste上刷新。更改序列生成器修复了此问题,并在上面的项目中进行了演示,因为它目前运行良好。
https://stackoverflow.com/questions/20304056
复制相似问题