Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql EnityManager不生成删除查询_Sql_Spring_Hibernate_Jpa_Entitymanager - Fatal编程技术网

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