我有hibernate和标准的问题.我有两个类:
public class Place{
long id;
String name;
Set<Street> streets;
}
public class Street{
long id;
String name;
Place place;
}
Run Code Online (Sandbox Code Playgroud)
我现在想要编写一个方法,该方法返回一个名称的列表,例如参数中给出的名称和一个名为like参数的街道.
public List<Place> findPlaces(String name, String streetname){
//getSession() gives me a hibernate session
Criteria crit = getSession().createCriteria(Place.class, "place");
crit.add(Restrictions.like("name", name+"%"));
//Everything works fine until here
//Last step: Sort out all places not containing a street named like streetname + "%"
}
Run Code Online (Sandbox Code Playgroud)
我为最后一步尝试了不同的方法:
//streetList is a list of all streets named like streetname
crit.add(Restrictions.in("streets", streetList));
Run Code Online (Sandbox Code Playgroud)
其他方式:
DetachedCriteria strasseCrit = DetachedCriteria.forClass(Street.class, …Run Code Online (Sandbox Code Playgroud)