Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在hibernate中选择_Java_Hibernate - Fatal编程技术网

Java 在hibernate中选择

Java 在hibernate中选择,java,hibernate,Java,Hibernate,我不知道如何在没有查询的情况下在Hibernate中执行SELECT*FROM。也就是说,我可以这样做smt: Session session = ...; JavaBean jb = ...; ... session.save(jb); // I'm adding jb session.update(jb); // I'm updating jb session.delete(jb); // I'm deleting jb 但我不知道如何从会话中选择。我知道的唯一方法是 list = ses

我不知道如何在没有查询的情况下在Hibernate中执行SELECT*FROM。也就是说,我可以这样做smt:

Session session = ...;
JavaBean jb = ...;
...
session.save(jb); // I'm adding jb
session.update(jb); // I'm updating jb
session.delete(jb); // I'm deleting jb
但我不知道如何从会话中选择。我知道的唯一方法是

list = session.createQuery("from JavaBean").list();

我的问题的答案是:

List selectAll(Class clazz) {
    return session.createCriteria(clazz).list();
}
请看以下内容:


多亏了overmeulen,要获得JavaBean的所有实例,请使用Hibernate标准API:

Criteria criteria = session.createCriteria(JavaBean.class);
List javaBeans = criteria.list();
如果执行了上述条件,那么它将从数据库加载所有Employee,即Employee pojo类的所有对象

在内部,hibernate将每一行Employee存储在一个对象Employee类中,所有Employee类对象都存储在一个列表中,最后hibernate将该列表对象返回给java应用程序

在迭代集合(列表)时,我们需要将每个对象类型转换为pojo类类型

 Iterator it=list.iterator();
while(it.hasNext())
 {
  Employee e=(Employee)it.next();
 ..............
 ..............

 }

那么,你到底想要什么?
.createQuery
方法是正确的。这是正确的方法。定义POJO并选择在其中定义的所有列。不管怎样,您想对编程时不知道的列做什么?看看Hibernate标准API:我想创建一个方法,它将为我的表中的每个对象提供一个列表,即list getAll(Class clazz){…}实际上我们是在同一时间编写的。。。我只是打字比他慢:)有没有什么通用的标准可以返回列表?
 Iterator it=list.iterator();
while(it.hasNext())
 {
  Employee e=(Employee)it.next();
 ..............
 ..............

 }