hibernate简单查询,连接不起作用
我正在尝试使用hibernate删除数据库中的一些BlRelation 不幸的是,查询不起作用。你能帮我一下吗?我知道这应该很简单hibernate简单查询,连接不起作用,hibernate,Hibernate,我正在尝试使用hibernate删除数据库中的一些BlRelation 不幸的是,查询不起作用。你能帮我一下吗?我知道这应该很简单 delete r FROM BlRelation where r.elementId.blProvider.providerId = 1 谢谢 请提供有关映射的更多详细信息,如果没有它,我只能猜测。但是试试这个: delete FROM BlRelation where elementId.blProvider.providerId = 1 elementId是
delete r FROM BlRelation where r.elementId.blProvider.providerId = 1
谢谢 请提供有关映射的更多详细信息,如果没有它,我只能猜测。但是试试这个:
delete FROM BlRelation where elementId.blProvider.providerId = 1
elementId
是否也是BlProvider
类型的字段?我猜它被命名为元素
,所以它应该是:
delete FROM BlRelation where element.blProvider.providerId = 1
最后,如果元素
与BlProvider
存在一对多或多对多关系(它属于集合类型),则需要一些更复杂的查询。引用:
UPDATE和DELETE语句的伪语法是:(UPDATE|
删除)从?EntityName(WHERE\u条件)
需要注意的几点:
- [……]
- 在批量HQL查询中不能指定隐式或显式联接。子查询可以在where子句中使用,其中 子查询本身可能包含联接
session.delete()
删除它们
下面是一个可能会起作用的子查询:
delete from BlRelation r where r.id in
(select r2.id from BlRelation r2 where r2.elementId.blProvider.providerId = 1)
请参见Hi-Tomasz,elementId是包含BlProvider对象的元素对象