Java 此联接的Hibernate DetachedCriteria与';或';跨两个表进行筛选
对于SQL 我已尝试创建此Java 此联接的Hibernate DetachedCriteria与';或';跨两个表进行筛选,java,sql,hibernate,detachedcriteria,createcriteria,Java,Sql,Hibernate,Detachedcriteria,Createcriteria,对于SQL 我已尝试创建此DetatchedCriteria: SELECT PP.m, PP.f, PP.l, PP.c, RP.n as 'RPn' FROM P as PP INNER JOIN RPP AS RP ON PP.id = RP.id WHERE PP.m LIKE '%0%' OR PP.f LIKE '%0%' OR PP.l LIKE '%0%' OR RPP.n LIKE '%0%' 我得到了一个InvocationException,我在getExecutable
DetatchedCriteria
:
SELECT PP.m, PP.f, PP.l, PP.c, RP.n as 'RPn' FROM P as PP
INNER JOIN RPP AS RP ON PP.id = RP.id
WHERE PP.m LIKE '%0%' OR PP.f LIKE '%0%' OR PP.l LIKE '%0%' OR RPP.n LIKE '%0%'
我得到了一个InvocationException
,我在getExecutableCriteria
中调用它以获得一个结果列表
我是否正确构建了它?什么是
调用异常
?粘贴异常的完整堆栈跟踪。
DetachedCriteria query = DetachedCriteria.forClass(P.class, "P")
//.setFetchMode("RP", FetchMode.JOIN)
.createAlias("rp", "rp")
.add(Restrictions.disjunction()
.add(Restrictions.like("P.m", str, MatchMode.ANYWHERE))
.add(Restrictions.like("P.f", str, MatchMode.ANYWHERE))
.add(Restrictions.like("P.l", str, MatchMode.ANYWHERE))
.add(Restrictions.like("rp.n", str, MatchMode.ANYWHERE))