Java 关于hibernate中的数据检索

Java 关于hibernate中的数据检索,java,hibernate,Java,Hibernate,我在MyEclipse IDE中编写了这个hibernate程序。我想从student表中检索数据并在控制台中显示,我想检索主键值为2的行(正如我在数据库的表中输入的那样) 我得到以下例外情况: 线程“main”org.hibernate.MappingException中的异常:未知实体: java.lang.Integer 节目: package info.inetsolv; import org.hibernate.Session; import org.hibernate.Session

我在MyEclipse IDE中编写了这个hibernate程序。我想从student表中检索数据并在控制台中显示,我想检索主键值为2的行(正如我在数据库的表中输入的那样) 我得到以下例外情况: 线程“main”org.hibernate.MappingException中的异常:未知实体: java.lang.Integer

节目:

package info.inetsolv;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class HibJavaPrgm {
public static void main(String[] args) {

 Configuration cfg = new Configuration();
 cfg.configure();
 SessionFactory sf = cfg.buildSessionFactory();
 Session hsession = sf.openSession();
 Transaction ts = hsession.beginTransaction();

 Student stu=new Student();

 hsession.load(2,stu);

 ts.commit();
 hsession.close();
 sf.close();
}

}
您可以使用两种方法:

加载(类,可序列化id)

假设实例存在,返回具有给定标识符的给定实体类的持久实例

加载(对象,可序列化id)

将与给定标识符关联的持久状态读入给定的瞬态实例

这些方法都没有将ID作为第一个参数

你想要

Student student = (Student) session.load(Student.class, 2);

您可以使用两种方法:

加载(类,可序列化id)

假设实例存在,返回具有给定标识符的给定实体类的持久实例

加载(对象,可序列化id)

将与给定标识符关联的持久状态读入给定的瞬态实例

这些方法都没有将ID作为第一个参数

你想要

Student student = (Student) session.load(Student.class, 2);

而不是:

Student stu=new Student();

hsession.load(2,stu);
应该是:

Student stu = (Student) hsession.load(Student.class, 2);
而不是:

Student stu=new Student();

hsession.load(2,stu);
应该是:

Student stu = (Student) hsession.load(Student.class, 2);

学生模型类和表是什么样子的。学生表由3列(id、名称、地址)组成。我只想检索一行并显示到控制台。学生模型类和表是什么样子的。学生表由3列(id、名称、地址)组成.我只想检索一行并显示给console@Surya:您的程序不会向控制台输出任何内容。添加
System.out.println(student.getName()).Student stu=(Student)hsession.load(Student.class,2);System.out.println(stu.getName());------>使用此方法,我可以检索一行的数据。如果我要检索该表的所有数据,那么使用哪个load()方法?@Surya:您的程序不会向控制台输出任何内容。添加
System.out.println(student.getName()).Student stu=(Student)hsession.load(Student.class,2);System.out.println(stu.getName());------>使用此方法,我可以检索一行的数据。如果我想检索该表的所有数据,那么使用哪个load()方法?