我有PlaceDTO和CategoryDTO,它们在PlaceCategoryDTO中连接(很多)。

public class PlaceCategoryDTO implements Serializable{

private Long id;
private Long categoryID;
private Long placeID;
private CategoryDTO category;
private PlaceDTO place;
//getters and setters
}


我有PlaceCategoryDAO,我想按两个属性进行搜索。一个是categoryID,另一个是PlaceDTO(region)的属性。为了通过categoryID和placeID进行搜索,我在PlaceCategoryDAO中使用此方法:

public class PlaceCategoryDAO extends GenericHibernateDAO<PlaceCategoryDTO,Long>{
  public  List<PlaceCategoryDTO> findByParameters(Long placeID, Long categoryID)
    {
      List<Criterion> criteria = new ArrayList<Criterion>();
      if (placeID != null)
        {
          criteria.add(Restrictions.eq("placeID",placeID));
        }
      if (categoryID != null)
        {
          criteria.add(Restrictions.eq("categoryID",categoryID));
        }
      return findByCriteria(criteria);
    }
}


我想知道是否可以通过place.region而不是placeID进行搜索。

最佳答案

是的,可以,请参见this。只需添加另一个条件和您的限制即可。

关于java - 如何使用Hibernate按另一个属性的属性搜索?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27386124/

10-10 16:02