我注意到使用简单选择调用服务方法会使DB中的MyDomain.class Date字段更新(清除时间)。但是,使用@Transactional(readOnly = true)封闭方法不会更新日期值。
为什么将值保存到DB中?
这是服务方法
@Transactional(readOnly = true)
Date getDate()
{
Date date = null
date = MyDomain.executeQuery("select min(s.startDate) from MyDomain s where ....)[0]
print "Result: " + date
}
答案 0 :(得分:2)
如果对象在进入休眠会话(选定)之后以及会话关闭之前(通常在方法结束时)以某种方式更改,则只会在数据库中进行更新。看看你的对象,看看它是如何以某种你不想要的方式被修改的。