我正在使用 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,即使我将我知道的用户名放入数据库中也是如此。 username是表的ID,应该能找到
编辑
难道我用<property name="hbm2ddl.auto">create</property>
在配置中?我应该使用什么,以便数据库仅在表不存在时才创建表?
最佳答案
创建模式选项将删除所有现有数据!
查看文档:here
以下是指定的选项:
validate
:验证架构,但不对数据库进行任何更改。更新
:更新模式。create
:创建模式,销毁之前的数据。create-drop
:在 session 结束时删除模式。
尝试使用更新
版本。代码片段的其余部分在我看来没问题。
希望对你有帮助
关于java - session.get() 在 hibernate 状态下返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7947869/