可以调用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的么 - -
|