gpt4 book ai didi

hibernate - 如何获取和使用 transient 实例?

转载 作者:行者123 更新时间:2023-12-02 15:09:59 25 4
gpt4 key购买 nike

我只是想在 Controller 中使用域类的瞬时实例。瞬时实例本质上是两个持久实例的叉积,我不需要或不想持久化它。但是,我仍然收到TransientObjectException。是否没有办法只是为了方便而实例化一个对象然后将其丢弃而不持久化?

这是grails 2.2.0。谢谢!

好吧,添加一些代码:

我正在处理的类特别是Warranty:

class Warranty {

// ...other fields...
Client client
client是唯一必填字段。类似地, Client类具有 Warranty外键:
class Client {

// ...other fields...
Warranty warranty

在 Controller 中:
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

...这引发了异常!

最佳答案

我的猜测是您修改了客户端实例,因此在创建新的保修时,它引用了未保存的客户端。

创建保修之前,请尝试添加client.discard()

关于hibernate - 如何获取和使用 transient 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com