永发信息网

hibernate中session.refresh()的详细用法

答案:2  悬赏:70  手机版
解决时间 2021-12-27 21:58
  • 提问者网友:寂寞撕碎了回忆
  • 2021-12-27 18:52
hibernate中session.refresh()的详细用法,最好举个例子看看,我上网查看是说把数据库中的数据同步到缓存中,到底怎么就同步了呢?

public void testRefresh(){
Session session = sessionFactory.getCurrentSession();
Transaction tr = session.beginTransaction();

Person person = (Person)session.load(Person.class, 1);
person.setPname("333");
System.out.println(person.getPname());

session.refresh(person);
System.out.println(person.getPname());
tr.commit();
}
你知道这个方法,数据库中的pname属性改变了吗?
最佳答案
  • 五星知识达人网友:酒者煙囻
  • 2021-12-27 20:32
refresh方法应该是数据库的数据更新到本地的person实体中,而不是本地person更新数据到数据库中
要提交或者更新数据到数据库请使用add(增加),update(修改),merge(自动增加或修改);
如果你只要修改pname,建议直接写hql或sql
全部回答
  • 1楼网友:上分大魔王
  • 2021-12-27 22:04
你用的什么版本的hibernate,如果是3.0.5的话,refresh是有bug的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯