有没有办法注册一个事务监听器,这样当一个事务开始时,我就可以在Hibernate-Session上激活一个过滤器?
出于同样的目的,我设法为EntityManager开发了一个生成器,但是如果@Transactional(TxType.REQUIRES_NEW)在同一请求中启动了一个新事务,这似乎不起作用,因为EntityManager被重用了,但是过滤器被清除了。
一种解决方案似乎是Hibernate- interceptor,但我不知道如何在Quarkus中注册这样的拦截器。
发布于 2021-03-24 23:44:47
在Quarkus-家伙的帮助下,我设法找到了一个解决方案:
将EntityManager-producer的作用域从@RequestScoped设置为@TransactionScoped,这样每次启动事务时都会调用生产者。
为了完整性:如果您确实需要监听事务启动,那么@Observes @Initialized(TransactionScoped.class)中的一些内容可能会起到作用。
https://stackoverflow.com/questions/66748609
复制相似问题