gpt4 book ai didi

java - Hibernate 不在数据库中保存对象?

转载 作者:行者123 更新时间:2023-11-29 12:31:25 24 4
gpt4 key购买 nike

我有以下问题,当试图在数据库中插入一个对象时,Hibernate 卡住了,没有返回错误,对象没有被正确保存。

调试发现卡在了

Hibernate: select nextval('hibernate_sequence')

我正在使用 PostgreSQL 作为数据库。

我的配置文件:

<hibernate-mapping>
<class name="src.MyClass" table="MyClass">

<cache usage="read-write"/>

<id name="id" column="classid">
<generator class="native" />
</id>

<property name="name" column="name" not-null="true" unique="true" length="160"/>

</class>
</hibernate-mapping>

@Override
public void save( Myclass mc)
{
Session session = sessionFactory.getCurrentSession();

session.save( mc);
}

SELECT 部分有效。

我不确定我错过了什么。还使用 native SQL Insert 命令,它可以工作。

最佳答案

我没看到你刷新 session

Session session = sessionFactory.openSession();
session.save(mc);
session.flush();
session.close();

但最可取的是

Session session = factory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(mc);
tx.commit(); // Flush happens automatically
}
catch (RuntimeException e) {
tx.rollback();
throw e; // or display error message
}
finally {
session.close();
}

关于java - Hibernate 不在数据库中保存对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18020572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com