Mysql Hibernate HQl连接两级表

Mysql Hibernate HQl连接两级表,mysql,sql,hibernate,hql,Mysql,Sql,Hibernate,Hql,我有四个表(t1、t2、t3、t4),它们有主键(pk_)和外键(fk_)。 表列 t1 pk_t1_id,fk_t3_id t2 pk_t2_id,fk_pk_t1_id,fk_t4_id t3 pk_t3_id t4 pk_t4_id 现在我需要编写HQL来通过pk_t3_id、pk_t4_id获取列表 我正在尝试编写HQL约束和限制来获取数据 session.createCriteria(t2.class) .createCriteria(

我有四个表(t1、t2、t3、t4),它们有主键(pk_)和外键(fk_)。 表列

t1       pk_t1_id,fk_t3_id
t2       pk_t2_id,fk_pk_t1_id,fk_t4_id
t3       pk_t3_id
t4       pk_t4_id
现在我需要编写HQL来通过pk_t3_id、pk_t4_id获取列表

我正在尝试编写HQL约束和限制来获取数据

session.createCriteria(t2.class)
.createCriteria("t1.t4").add(Restrictions.eq("pk_t4_id",userId))
.createCriteria("tmSites").add(Restrictions.eq("pkSiteId", siteId));

有人能在这里纠正我吗?

条件是连接多个表的效率较低的方法。因此使用了名称查询