我有以下映射:
<hibernate-mapping package="server.modules.stats.data">
<class name="User" table="user">
<id name="id">
<generator class="native"></generator>
</id>
<many-to-one name="address" column="addressId" unique="true" lazy="false" />
</class>
<class name="Address" table="address">
<id name="id">
<generator class="native"></generator>
</id>
<property name="street" />
</class>
</hibernate-mapping>
如何选择Criteria查询以选择居住在某条街道上的所有用户?
这是为此SQL创建Criteria查询:
Select * from user join address on user.addressId = address.id where address.street='someStreet'
答案 0 :(得分:2)
String theStreet = "the_street_name";
DetachedCriteria dc = DetachedCriteria.forClass(User.class);
dc.createAlias("address", "addrAlias");
dc.add(Restrictions.eq("addrAlias.street", theStreet));
List<User> users = getHibernateTemplate().findByCriteria(dc);