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