可以调用hibernate 的update方法吗?

yanical 2011-06-17
怎么update一个已经有的对象呢,比如一个User对象,例子都是:
User instance = User.get(1)
instance.name=xxx
instance.save()

现在我的东西是从前台来的,后台直接User instance= new User(params);
构建了一个完整的对象,怎么保存到DB? 不能直接调save(),那样grails认为是一个新对象,也没有hibernate里的update方法可以调用。

User instance = User.get(1)
。。。
instance.save()
模式的话,代码量还会更多,靠。
怎么才可以直接update?
atian25 2011-06-19
没明白你的意思
yanical 2011-06-20
atian25 写道
没明白你的意思

hibernate 里的save方法和update是有区别的。
grails里面就只有save方法,怎么调到update方法
yanical 2011-06-20
atian25 写道
没明白你的意思

grails 会的save方法其实也会去调用update方法,但是我不知道什么它什么时候调用save,什么时候调用update。
我想它在有ID的时候掉update,没有的时候调save,但是好像不是这样。而是new出来的调save,get出来的调update。
_19_ 2011-06-20
User instance
if(params.id){
 instance = User.get(params.id)
}else{
 instance = new User()
}
instance.properties = params
instance.save()
atian25 2011-06-21
一定要先get/find出来才能
yanical 2011-06-21
atian25 写道
一定要先get/find出来才能

为什么这么设计呢? 晕
atian25 2011-06-21
看下grails文档中merge和attach是不是你需要的
_19_ 2011-06-21
new出来的对象一开始还不是PO,只有经过save之后才成为PO,而get/find出来的对象一开始就是PO了
zhao_chong 2011-06-28
hibernate 里被持久化的对象用update的么 - -
Global site tag (gtag.js) - Google Analytics