我正在尝试运行以下分离条件查询:
def e = new DetachedCriteria(Equipment).build {
eq('name', ef.name)
}.get()
但是当我e.isAttached()
随后立即打电话时,我得到了true
。
背景:我知道我有一个对设备 e 的内存附加引用,但我想要一个对它的分离引用,以便我可以将旧数据库值与内存集进行比较,以查看发生了什么变化......
我正在尝试运行以下分离条件查询:
def e = new DetachedCriteria(Equipment).build {
eq('name', ef.name)
}.get()
但是当我e.isAttached()
随后立即打电话时,我得到了true
。
背景:我知道我有一个对设备 e 的内存附加引用,但我想要一个对它的分离引用,以便我可以将旧数据库值与内存集进行比较,以查看发生了什么变化......
您在此处创建的不是分离查询* - 它是一个Equipment
实例。通过添加get()
您正在执行查询并生成附加Equipment
实例。要创建分离查询,请删除get()
:
def dQuery = new DetachedCriteria(Equipment).build {
eq('name', ef.name)
}
然后当您需要执行时:
def e = dQuery.get()
如果要分离Equipment
实例,则可以调用
e.discard()