java – Spring Data JPA JpaRepository.save(实体)不返回数据
发布时间:2020-12-15 01:43:38 所属栏目:大数据 来源:网络整理
导读:我有一个相当简单的问题.在单个事务中,我的代码看起来像这样: MyClass c = new MyClass();c.setPropA("A");c = myClassRepository.save(c);c.setPropC("C"); 我的实体看起来像这样: @Entity@Table(name = "MY_CLASS")public class MyClass { private Strin
我有一个相当简单的问题.在单个事务中,我的代码看起来像这样:
我的实体看起来像这样:
并且数据库设置如下(Dialect = Oracle 11G)
所以,根据持久化实体的代码,我认为我会得到类似这样的查询:
……但SELECT永远不会发生.为什么实体没有刷新? 由于UPDATE紧跟INSERT并且c.propB仍为null,因此会中断.我得到一个ORA-01407:无法更新(“MY_SCHEMA”.“MY_CLASS”.“PROP_B”)到NULL堆栈跟踪. 我知道有很多方法可以使用@PrePersist或在Java中的columnDefinition上设置默认值,但我不应该重复默认值. 注意:这在我使用org.hibernate.Session.saveOrUpdate()而不是Spring Data JPA进行此操作之前有效. 在此先感谢您的帮助! 最佳答案
Hibernate不知道B是由数据库生成的,并且它必须在插入后读取它,除非你告诉它使用
@Generated annotation这样做.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |