【发布时间】:2011-10-30 21:15:29
【问题描述】:
我正在使用 hibernate 和 mysql,并且我可以通过 hibernate 将数据放入数据库中,但是当我尝试检索数据时它总是返回 null...
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
User user = (User) session.get(User.class, username);
session.getTransaction().commit();
User 是一个带有注释的类,但变量 user 将始终为 null,即使我将一个我知道存在于 DB 中的用户名放入。用户名是表的ID,所以它应该找到它
编辑
我可以在配置中使用<property name="hbm2ddl.auto">create</property> 吗?我应该使用什么,以便数据库仅在表不存在时才创建表?
【问题讨论】:
-
session.get()时生成的 SQL 是什么,您是否将hibernate.show.sql设置为 true -
谢谢,当我把它放进去时,我得到: Hibernate: drop table if exists user Hibernate: create table user (username varchar(255) not null, age integer, name varchar(255), password varchar(255), sex varchar(255), surname varchar(255), primary key (username)) 当它这样做时:Session session = HibernateUtil.getSessionFactory().getCurrentSession();因此它正在重新创建表:S
标签: java mysql database hibernate session