我有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/