草庐IT

PostPersist

全部标签

php - postUpdate 和 postPersist 在学说上的区别

Doctrine的事件监听类中的postUpdate和postPersist事件有什么区别?以我的理解,更新和插入都必须坚持下去。那么当可以在postPersist事件中处理它时,拥有postUpdate有什么好处? 最佳答案 因为您应该只在更新时处理一些逻辑。从学说的文档中:postPersist-ThepostPersisteventoccursforanentityaftertheentityhasbeenmadepersistent.Itwillbeinvokedafterthedatabaseinsertoperation

java - @PostPersist 未调用...@PrePersist 是...为什么?

我有一个JPA@Entity类,它使用@PrePersist已经有一段时间了。今天我想在需要该实体ID的地方添加一些功能。此ID由数据库中的HIBERNATE_SEQUENCE持久化期间生成。它通常在em.persist(entity)之后设置。由于某些未知原因,@PrePersist方法被触发...而@PostPersist根本不会触发:@EntitypublicclassMyEntity{@PrePersistprotectedvoidonCreate(){System.out.println("ExtendedEntity.onCreate()");}@PostPersistpr

java - JPA/@PostPersist @PostUpdate - 交易

我目前正在使用@PostPersist和@PostUpdate,在这些触发器中我正在持久化其他实体。问题是,这些触发器是否在同一事务中,如果不是,是否可以强制执行?对我来说,它是这样工作的。当我查看日志时,事务不存在(它是在触发器启动之前提交的)这阻止了我(在注入(inject)bean的持久方法上没有REQUIRES_NEW)将其他实体保存在数据库。REQUIRED属性被完全忽略,MANDATORY属性不抛出异常。这可能是JUnit的问题(因为我处于开发阶段并且没有在完整环境中测试行为。)?如果无法在此触发器上扩展事务,如何确保回滚发生在@PostPersist和@PostUpdat

java - 是否可以在 @Pre/PostPersist 监听器中保留新实体?

我正在尝试设置我的hibernate应用程序以在每次创建Activity实体时都保留一个新的Notification实体-目前,我已经尝试了通知只是无法静默地持续存在(日志中没有错误,但永远不会执行sql)。谁能确认甚至可以在Hibernatepre/postPersist监听器中持久化其他实体?我已阅读文档:AcallbackmethodmustnotinvokeEntityManagerorQuerymethods!但我已经阅读了其他几个似乎表明这是可能的讨论主题。作为引用,我尝试过的两种方法是:@PrePersist方法-在Activity和Notification之间设置一个c