2

我有三个相关的实体

public class EntityA
{
private Long id;
}


public class EntityB
{
private Long id;
private EntityA entityA;
private EntityC entityC;

}

public class EntityC
{
private Long id;
}

Query query = persistenceManager.createNamedQuery("DELETE FROM EntityB a WHERE a.entityA = :entityA AND a.entityC.id in :entityCList"); query.setParameter("entityA", entityAObj); query.setParameter("entityCList", entityCList); query.executeUpdate();

我正在使用 MySQL 数据库。参数:entityCList是一个ArrayListieentityC ids并且List<Long> entityCList:entityA一个 Object EntityA

当我运行上面的删除查询时,记录没有从数据库中删除,也没有抛出异常。查询可能有什么问题。

4

1 回答 1

1

生成的 SQL 是什么?

尝试将 entityC 与 EntityC 对象列表而不是 id 进行比较。

或者,尝试使用子选择,而不是连接。

于 2013-05-01T12:49:08.170 回答