使用Hibernate Criteria,并声明:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(SomeEntity.class);
List<SomeObject> myListOfObjects = detachedCriteria.getExecutableCriteria(session).list();
我怎么知道什么样的列表实现是myListOfObjects? ArrayList,LinkList等等。我问这个的原因是因为我追查了所有代码,并根据官方文档,
DetachedCriteria.getExecutableCriteria(session).list()
返回Criteria,应用于Criteria的list()返回List:
http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/criterion/DetachedCriteria.html http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Criteria.html
答案 0 :(得分:0)
您可以使用以下命令阻止返回的List接口的运行时类: -
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(SomeEntity.class);
List<SomeObject> myListOfObjects = detachedCriteria.getExecutableCriteria(session).list();
System.out.println(myListOfObjects.getClass());
答案 1 :(得分:0)
您可以在所需的列表的任何实现中使用 myListOfObjects 。您可以键入cast it,将其用作 List 实现的构造函数的参数,并在实用程序类中使用它,例如 Collections 。