我有以下表格结构

**BPV table**
  id, vid, bid

**vt table**
   vid, name, gender

**uv table**
   uvid, vid, cast,...

我想在hibernate(mysql)中编写基于vid的BPV和uv之间的左连接
bpv实体有一对一的vt和uv有一对一的vt,但是没有bpv和uv

最佳答案

Hibernate有Criteria API,这是用OO方法执行查询的好方法。如果有持久实体,则可以执行以下操作:

Criteria criteria = session.createCriteria(BPV.class, "bpv");
criteria.createCriteria("bpv.vt", "vt", CriteriaSpecification.LEFT_JOIN);
criteria.createCriteria("vt.uv", "uv", CriteriaSpecification.LEFT_JOIN);
// add restrictions
return criteria.list();

10-01 00:28