Sql EnityManager不生成删除查询
我正在尝试删除实体,但未生成删除查询,并且控制台中未显示错误:Sql EnityManager不生成删除查询,sql,spring,hibernate,jpa,entitymanager,Sql,Spring,Hibernate,Jpa,Entitymanager,我正在尝试删除实体,但未生成删除查询,并且控制台中未显示错误: @Override @Transactional public void removeClassObject(MyClassObject classObject) { MyClassObject ip = entityManager.find(MyClassObject.class, classObject.getId()); entityManager.remove(ip); } 注意:@Transactiona
@Override
@Transactional
public void removeClassObject(MyClassObject classObject) {
MyClassObject ip = entityManager.find(MyClassObject.class, classObject.getId());
entityManager.remove(ip);
}
注意:@Transactional来自springFramework包
编辑:
我的所有配置都是正常的,因为我已经有了merge和persist函数在那里执行任务,没有任何问题。它只是remove方法,它不会生成任何sql查询,也不会删除给定的实体 编辑2: 以下是我获取entityManager的方式:
@PersistenceContext(type = PersistenceContextType.TRANSACTION)
protected EntityManager entityManager;
如果您使用的是<强> @事务性< /强>注释,您应该考虑使用服务的接口,而不仅仅是实现。
@Transactional需要在您的bean上创建一个动态代理来应用事务逻辑,如果您的服务有接口,可以创建事务逻辑。否则,您将需要自己管理事务 作为回答,我假设您使用 @PersistanceContext注释,而您的服务没有接口 有关mor信息: 编辑:还要确保在配置中启用了事务。在这里查找类似的错误,但配置错误您的意思是您没有看到sql删除查询或它没有发生?我没有看到删除sql qyerySo那么这是一个日志记录问题?不,sql查询没有生成,实体没有删除我已经实现了一个接口,我在我的编辑中添加了@Override注释您如何获得EntityManager@Moatezbouhdid我的所有配置都是正常的,因为我已经有了合并和持久化功能,没有任何问题。它只是一个删除方法,它不会生成任何sql查询,也不会删除给定的实体。我问我前面的问题“如何获得EntityManager?”?使用@PersistanceContext或使用EntityManagerFactory?使用@PersistanceContext