Hibernate JPA实体侦听器@Pre和@Post无法正常工作

安德拉什除夕

我正在构建一个实时应用程序,并尝试使用实体侦听器使我的状态保持最新。基本思想是,每当业务逻辑区域发生更改时,我都会重新加载受影响的实体并协调更改。这是MWE:

@PrePersist
public void PrePersist() {
    LoggerFactory.logger(App.class).info(" >>> PrePersist count: " + getStars().size());
}
@PostPersist
public void PostPersist() {
    LoggerFactory.logger(App.class).info(" >>> PostPersist count: " + getStars().size());
}
@PreRemove
public void PreRemove() {
    LoggerFactory.logger(App.class).info(" >>> PreRemove count: " + getStars().size());
}

@PostRemove
public void PostRemove() {
    LoggerFactory.logger(App.class).info(" >>> PostRemove count: " + getStars().size());
}
private List<Star> getStars() {
    EntityManager em = HibernateUtilJpa.getEntityManager();
    List<Star> l = new ArrayList<Star>();
    try {
        em.getTransaction().begin();
        l = em.createQuery("from Star", Star.class).getResultList();
        em.getTransaction().commit();
    } catch (Exception e) {
        em.getTransaction().rollback();
    } finally {
        em.close();
    }
    return l;
}

我正在使用一个单独的API将星号插入/删除到DB中。我期望持久性会由于添加的项目而显示多一项,并且删除后的内容比删除前的内容少一个。事实并非如此,持久化后和删除后均显示错误的项目数,因此持久化前与持久化后相同,并且删除前与删除后相同。我确定它与Hibernate的缓存有关,但是我正在使用事务,并且一切都通过了,EntityManager所以我抓狂了。

德拉甘·博扎诺维奇(Dragan Bozanovic)

文档中

回调方法不得调用EntityManagerQuery方法!

实际上,行为是不确定的,因此您在示例中观察到的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Hibernate实体侦听器与netty-socketio之间的中介

来自分类Dev

Hibernate实体侦听器与netty-socketio之间的中介

来自分类Dev

用于JPA回调的Hibernate事件侦听器

来自分类Dev

Hibernate 中特定于实体的侦听器/事件/拦截器

来自分类Dev

Hibernate Native与Hibernate JPA

来自分类Dev

关键侦听器无法正常工作

来自分类Dev

Spring JUnit测试中未调用Hibernate侦听器

来自分类Dev

在Hibernate中使用Map无法正常工作

来自分类Dev

Hibernate 4保存无法正常工作

来自分类Dev

Java Spring + Hibernate LocalSessionFactoryBean无法正常工作

来自分类Dev

从Hibernate到EclipseLink的JPA实体

来自分类Dev

Spring和hibernate集成无法打开JPA

来自分类Dev

从4.2.7 / 4.3.0.CR1开始,Hibernate JPA OneToOne孤立删除仍然无法正常工作

来自分类Dev

绑定侦听器在JavaFX 8中无法正常工作

来自分类Dev

邀请侦听器无法正常工作4.2

来自分类Dev

回调侦听器无法正常工作

来自分类Dev

Html 类事件侦听器无法正常工作

来自分类Dev

Hibernate queryexception:在JPA查询期间无法解析实体属性

来自分类Dev

在Hibernate的EmptyInterceptor中注入JPA的实体管理器

来自分类Dev

在Hibernate的EmptyInterceptor中注入JPA的实体管理器

来自分类Dev

继承JPA和Hibernate问题

来自分类Dev

Spring + Hibernate:未知实体

来自分类Dev

Hibernate返回错误的实体

来自分类Dev

Springboot Hibernate 实体映射

来自分类Dev

HIBERNATE:无法使用Hibernate从MySQL提取数据

来自分类Dev

在服务器启动时设置Hibernate之前会触发JMS侦听器

来自分类Dev

Transaction not active - Hibernate - JPA

来自分类Dev

JPA + Hibernate + CrudRepository刷新?

来自分类Dev

Hibernate / JPA的Java配置?

Related 相关文章

热门标签

归档