......
Transaction transaction = hbSession.getTransaction();
TFood tf2 = (TFood) hbSession.load(TFood.class, 4);
System.out.println(tf2);
tf2.setGname("IPhone 4s");
transaction.commit();
这样会发送一条update语句更新数据库,但是这样:
......
Transaction transaction = hbSession.getTransaction();
TFood tf2 = (TFood) hbSession.load(TFood.class, 4);
System.out.println(tf2);
try {
Thread.sleep(10000);//延迟10秒,这段时间到数据库中删除id为4的记录。
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tf2.setGname("IPhone 4ssssss");
transaction.commit();
10秒内我把数据库中的记录删掉,期间程序一直运行,10秒后运行到commit,这时不会发送update语句。
Hibernate知道我把数据库中的记录删了吗?为什么不发送update语句然后抛出异常,这才是应该发生的情况吧?
Hibernate 如何判断数据库中是否有这个记录
答案:1 悬赏:40 手机版
解决时间 2021-03-19 15:34
- 提问者网友:藍了天白赴美
- 2021-03-19 07:37
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-03-19 08:13
Query query = this.getSession().createQuery("SELECt new list(tf.id) FROM TFood tf WHERe id=?");
query.setParameter(1, 1L);//
List list=query.list();
再判断 list
query.setParameter(1, 1L);//
List list=query.list();
再判断 list
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯