一个诡异的hibernate更新问题!请大侠指教。

feilingshuzi 06-01-03

Session sess = HibernateUtil.currentSession();

Query query = sess.createQuery("select table from tableData table");
/*
tableData中包括
String Name;
Long age;
且tableData对应的表在数据库中只有一条记录
*/
tableData poData = (tableData) query.uniqueResult();

Transaction tx = null;
tx = sess.beginTransaction();

poData.setName("TOM");
sess.save(poData);

tx.commit();
sess.evict(poData);

请问,为什么我用这样的代码不能进行Name的更新?这个问题太诡异了,请大侠帮我分析一下,谢谢!!

ministor
2006-01-18 23:21

我也遇到过此类问题,至今未解决,可能是那个long类型的字段的问题。如果你都用String的就应该没问题了。如有高手来解答就好了。期待

wildfox
2006-01-24 16:35

你是不是应该用update 或者 saveOrUpdate

fengliangjun
2006-02-05 13:07

Transaction tx = null;
tx = sess.beginTransaction();
sess.update(poData);
poData.setName("TOM");
sess.save(poData);

tx.commit();