在事务期间选择查询会导致未保存的瞬态异常

时间:2012-04-09 23:58:06

标签: java spring hibernate transactional

将EJB3 JPA与Spring / Hibernate和Postgres数据库一起使用。

我有一个循环,我在其中创建一个实体的多个实例,并在一个(大)事务中使用EntityManager将它们持久化。

我希望能够在此过程中执行JPQL选择查询,以查找要添加到这些实体的其他数据。但是,当我调用getResultList实例的Query时,我得到了与我正在创建的实体相关的可怕的“未保存的瞬态”异常。

有没有办法让查询/ Hibernate忽略未保存的瞬态并只执行选择查询?该查询与我正在创建的实体无关,因此我不知道它为什么抱怨。

执行查询的方法标记为@Transactional(propagation=SUPPORTS, readOnly=true),因此查询应该在与创建实体相同的事务/会话中执行。

0 个答案:

没有答案