我有以下问题,当试图在数据库中插入对象时,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部分起作用。
我不确定我缺少什么。同样使用本地SQL插入命令,它也可以工作。
我没看到你这么忙
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(); }