我有三个相关实体
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
是ArrayList
的{{1}},即entityC ids
,而List<Long> entityCList
是:entityA
的对象。
当我运行上面的删除查询时,记录没有从数据库中删除,也没有抛出异常。查询可能有什么问题。
答案 0 :(得分:1)
SQL生成了什么?
尝试将entityC与EntityC对象列表进行比较,而不是ID。
或者,尝试使用子选择,而不是连接。