Java 此联接的Hibernate DetachedCriteria与';或';跨两个表进行筛选

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

对于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
,我在
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))