EnityManager不生成删除查询

时间:2018-04-16 17:03:05

标签: sql spring hibernate jpa entitymanager

我正在尝试删除一个实体但是没有生成删除查询,并且控制台中没有显示错误:

@Override
@Transactional
public void removeClassObject(MyClassObject classObject) {
    MyClassObject ip = entityManager.find(MyClassObject.class, classObject.getId());
    entityManager.remove(ip);
}

请注意:@Transactional来自springFramework包

编辑:

我所有的配置都没问题,因为我已经有了合并和持久化功能,没有任何问题,只是remove方法不生成任何sql查询,也不会删除给定的实体。

编辑2:

这就是我获取entityManager的方法:

@PersistenceContext(type = PersistenceContextType.TRANSACTION)
protected EntityManager entityManager;

1 个答案:

答案 0 :(得分:0)

如果您使用 @Transactional 注释,则应考虑为您的服务使用界面,而不仅仅是实施。

@Transactional 需要在您的bean上创建动态代理以应用事务逻辑,如果您的服务具有接口,则可以创建该逻辑。否则,您需要自己管理交易。

  

作为回答,我假设您使用创建实体管理器   @PersistanceContext注释,您的服务没有界面。

对于mor信息:Spring transactions

修改

还要确保您已在配置中启用了事务。在这里查看类似的错误,但配置错误LINK