【发布时间】:2013-08-14 18:17:42
【问题描述】:
我只是想在控制器中使用域类的瞬态实例。瞬态实例本质上是两个持久性实例的交叉产物,我不需要也不想持久化它。但是,我仍然收到 TransientObjectException。有没有办法仅仅为了方便而实例化一个对象,然后在不持久化的情况下将其丢弃?
这是 grails 2.2.0。谢谢!
好的,添加一些代码:
我正在处理的具体课程是Warranty:
class Warranty {
// ...other fields...
Client client
client 是唯一必填字段。 Client 类也有一个 Warranty 外键:
class Client {
// ...other fields...
Warranty warranty
在控制器中:
String name = params.name
if (name == null) { return }
Client client = Client.findByClientName(name as String)
// ...other stuff...
def warranty = new Warranty(client: client)
return // for testing purposes
...这引发了异常!
【问题讨论】:
-
instance.discard()应该可以你能粘贴你的真实代码吗? -
@SérgioMichels:好的,添加了一些代码。
-
您的异常行是
def warranty = new Warranty(client: client)?之后真的有回报吗? -
@SérgioMichels 在这一点上,出于测试目的,我这样做了。
warranty将在控制器中进一步使用,但现在我要立即退出以确认Warranty对象的实例化是问题所在。
标签: hibernate grails grails-orm