读书人

关于hibernate的保存有关问题

发布时间: 2013-07-16 22:38:05 作者: rapoo

关于hibernate的保存问题?
问题一?
public DiDe getById(String id) {

DiDe di=(DiDe)getSession().load(DiDeHibernate.class, id);
return di;
}
比如这个id主键为string类型的话,上面的方法有时候好用,有时候就报错;这个id为string类型的话,load,get对象方法都能用不?如果不能,怎么序列化此string id;



承接上个问题?
userService.save(user);
Hibernate的保存会返回一个序列化的id,就是主键吧;如果主键是string类型;
String id = userService.save(user);这样写报错?
这样怎么得到这个id呢?

保存后,通过user.getId();得到的是0.。。。不是刚保存那条记录的主键id
[解决办法]
这问题有点意思,我般ID有的是int,看了下hibernate api中get和load方法,string应该可以的,下面这样写
userService.save(user);
session.commit();
Stirng id = user.gerId(),估计是你没有commit所以数据库中没有值所有user get不到id
[解决办法]

引用:
这问题有点意思,我般ID有的是int,看了下hibernate api中get和load方法,string应该可以的,下面这样写
userService.save(user);
session.commit();
Stirng id = user.gerId(),估计是你没有commit所以数据库中没有值所有user get不到id

楼上正解,不过你的Hibernate没有用到事务管理么?配置文件中配置事务管理
[解决办法]
id最好用int,而且自增的id都按int处理。
-----有时候就报错,这句会报什么错?

读书人网 >Java Web开发

热点推荐