2010-03-16 2 views
0

를 사용하여 최대 절전 모드에서 조인 된 테이블에서 속성의 쿼리를 만들기 위해 나는 다음과 같은 매핑이 :어떻게 기준

<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> 

나는 약간의 거리에 살고있는 모든 사용자를 선택하는 기준 쿼리를 할 수 있습니까?

Select * from user join address on user.addressId = address.id where address.street='someStreet' 

답변

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); 
:이 SQL에 대한 기준 쿼리를 만드는 것입니다