郁闷啊~~~hibernate中的saveOrUpdate该怎么用

fyxtc 2011-09-18 01:55:19
save的话是不需要给数据库传ID的 可是如果想要UPDATE的话 不是要传ID吗 该怎么做才能用saveorupdate呢
...全文
350 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
AaronLin98 2011-09-20
  • 打赏
  • 举报
回复
当使用saveOrUpdate(Object pojo)时
若 瞬时,即无id,则save.
若 持久状态,即有id,数据库中也有与之对应的,则自动使用类似update()功能;

使用这个的话,即可save 又可 update,一个方法搞定!
liuyuhua0066 2011-09-20
  • 打赏
  • 举报
回复
saveOrUpdate(final Object entity)
fyxtc 2011-09-20
  • 打赏
  • 举报
回复
还是不明白啊 是不是配置文件里的id的生成方式不是用increment?
zhang527 2011-09-20
  • 打赏
  • 举报
回复
saveUpdate()做个判断就行,如果你不做任何判断它默认的情况下应该是重新添加一天新的数据,而不是去修改原有的那条数据! 具体代码实现,上楼的高手已经搞定了!
绝世酱油瓶 2011-09-20
  • 打赏
  • 举报
回复
ID一般都不是手动输入的
Dee 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fyxtc 的回复:]
引用 7 楼 foster_h 的回复:

当使用saveOrUpdate(Object pojo)时
若 瞬时,即无id,则save.
若 持久状态,即有id,数据库中也有与之对应的,则自动使用类似update()功能;

使用这个的话,即可save 又可 update,一个方法搞定!


可是这个在JSP里要怎么编写呢 是不是save就不输入id的值,想update就输入呢?……
[/Quote]

saveOrUpdate(Object pojo) 这里的pojo传的是实例,不是ID值,你要把你要处理的实例传过来,不是传他得ID
fyxtc 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 foster_h 的回复:]

当使用saveOrUpdate(Object pojo)时
若 瞬时,即无id,则save.
若 持久状态,即有id,数据库中也有与之对应的,则自动使用类似update()功能;

使用这个的话,即可save 又可 update,一个方法搞定!
[/Quote]

可是这个在JSP里要怎么编写呢 是不是save就不输入id的值,想update就输入呢?可是好像不行呃.....
quleileiw 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 foster_h 的回复:]
当使用saveOrUpdate(Object pojo)时
若 瞬时,即无id,则save.
若 持久状态,即有id,数据库中也有与之对应的,则自动使用类似update()功能;

使用这个的话,即可save 又可 update,一个方法搞定!
[/Quote]

OK
原来缘来 2011-09-18
  • 打赏
  • 举报
回复
session的saveOrUpdate是根据对象的状态(瞬时,持久,托管)对对象进行save或update操作的,我猜楼主肯定是刚刚学习到这一块,因为实际项目中,这个方法用的应该很少(我猜的).
当对象的状态为瞬时状态时,对对象进行save操作
当对象的状态为持久或托管状态时,对对象进行update操作
yexiongMYBH 2011-09-18
  • 打赏
  • 举报
回复
顶楼上,,是这样的。

你要了解Hibernate里面对象的三种状态,那你就对这个方法明白了一半了。

还有,save方法里面,你要是没有在配置文件,或者Annotation里面写ID是自增长的,那这个ID 还是要赋值的。

就说这么多了,希望有帮助。
fainfy 2011-09-18
  • 打赏
  • 举报
回复
使用hibernate保存的时候参数是一个pojo。
pojo应该对应有一个id。hibernate会根据id对应的属性来判断。如果数据库有则修改。如果没有则插入。
横竖 2011-09-18
  • 打赏
  • 举报
回复
加个判断应该可以

67,517

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧