session.get()在hibernate中返回null

时间:2011-10-30 21:15:29

标签: java mysql database hibernate session

我正在使用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>吗?我应该使用什么,以便DB只有在它不存在时才创建表?

1 个答案:

答案 0 :(得分:1)

创建架构选项会删除所有现有数据!
查看文档:{​​{3}}

以下是指定的选项:

  • validate:验证架构,但不对数据库进行任何更改。
  • update:更新架构。
  • create :创建架构,销毁以前的数据。
  • create-drop:在会话结束时删除架构。

尝试使用update版本。其余的代码片段对我来说很好。

希望这有帮助