将 EJB3 JPA 与 Spring/Hibernate 和 Postgres 数据库一起使用。
我有一个循环,我在其中创建多个实体实例,并在一个(大)事务中使用 EntityManager 持久化这些实例。
我希望能够在此过程中执行 JPQL 选择查询,以查找要添加到这些实体的其他数据。但是,当我调用实例时,我得到getResultList
了Query
与我正在创建的实体相关的可怕的“未保存的瞬态”异常。
有什么方法可以让查询/休眠忽略未保存的瞬态而只进行选择查询?该查询与我正在创建的实体无关,所以我不知道它为什么抱怨。
执行查询的方法被标记@Transactional(propagation=SUPPORTS, readOnly=true)
,因此查询应该在与创建实体相同的事务/会话中执行。