Java 如何在对单个实体进行Hibernate查询后处理对象列表

Java 如何在对单个实体进行Hibernate查询后处理对象列表,java,hibernate,jpa,Java,Hibernate,Jpa,在对Hibernate查询调用list()后,您希望该查询只返回一个Foo对象列表(请参见下面的示例),如何最好地处理这种情况 Query query = session.createQuery("from Foo"); List list = query.list(); 我并不特别喜欢看到这样: public List read() { ... } 当我更喜欢: public List<Foo> read() { ... } public List read(){…} 您是

在对Hibernate查询调用list()后,您希望该查询只返回一个Foo对象列表(请参见下面的示例),如何最好地处理这种情况

Query query = session.createQuery("from Foo");
List list = query.list();
我并不特别喜欢看到这样:

public List read() { ... }
当我更喜欢:

public List<Foo> read() { ... }
public List read(){…}
您是否希望read方法的调用方对每个元素都强制转换为Foo?有没有一种好方法可以让read方法返回List

您是否希望read方法的调用方对每个元素都强制转换为Foo?有没有一种好方法可以让read方法返回List

不,我不希望打电话的人做演员,所以我会这样写:

Query query = session.createQuery("from Foo");
List<Foo> list = query.list();
Query Query=session.createQuery(“来自Foo”);
List=query.List();
如果要删除非类型安全强制转换警告(Hibernate查询API不是类型安全的):

Query Query=session.createQuery(“来自Foo”);
@抑制警告(“未选中”)
List=query.List();
Query query = session.createQuery("from Foo");
@SuppressWarnings("unchecked")
List<Foo> list = query.list();