我正在尝试删除一个实体但是没有生成删除查询,并且控制台中没有显示错误:
@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;
答案 0 :(得分:0)
如果您使用 @Transactional 注释,则应考虑为您的服务使用界面,而不仅仅是实施。
@Transactional 需要在您的bean上创建动态代理以应用事务逻辑,如果您的服务具有接口,则可以创建该逻辑。否则,您需要自己管理交易。
作为回答,我假设您使用创建实体管理器 @PersistanceContext注释,您的服务没有界面。
对于mor信息:Spring transactions
修改强>
还要确保您已在配置中启用了事务。在这里查看类似的错误,但配置错误LINK