Hibernate: select student0_.id as id0_0_, student0_.name as name0_0_, student0_.age as age0_0_, student0_.price as price0_0_, student0_.birthday as birthday0_0_ from student student0_ where student0_.id=?
Exception in thread "main" org.hibernate.HibernateException: More than one row with the given identifier was found: 149, for class: com.bean.Student
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:92)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3062)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:223)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:906)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:843)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:836)
at com.dao.StudentDAO.select(StudentDAO.java:90)
at com.dao.StudentDAO.main(StudentDAO.java:116)public void select(int id)
{
Configuration configuration = new Configuration();

SessionFactory factory = configuration.configure().buildSessionFactory();

Session session = factory.openSession();

Transaction transaction = session.beginTransaction();

Student student = (Student) session.get(Student.class, id);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
transaction.commit();

// System.out.println(student.getName());
System.out.println(student.getAge());
System.out.println(dateFormat.format(student.getBirthday()));

session.close();
}根据ID 查询出 name值  英文和数字都可以 . 但是如果name值有中文则会抛出上面的异常除了过滤器  有没有简单的方法 , 这只是个练习而已