hibernate中save()、get()、load()、update()、saveorupdate()、merge()等方法
2024-08-31 20:21:58
1、save()方法
直接传个user对象
session.save(user);
2、get()方法和load()方法
get():
传id session.get(UserInfo.class,id);
load():
传id session.load(UserInfo.class,id);
区别:假如传的id在数据库没有,get()方法返回值是 null,load()方法返回的是Exception;
3、update()方法
传user属性里面必须有id,不管改了几个属性,所有属性值都会重新赋值。
update(user)
4、savaorupdate()方法
根据你传的user是否有id,没有id就sava有id就update;
5、merge()方法
也能实现sava和update,区别是在sava和update之前先select,如果没有变化什么都不做,变化就再执行update,如果在实体类映射文件加上属性 dynamic-update="true" 就会动态update(没有变化的属性不会再赋值);
6.delete() 方法
现根据id查出来user,再delete(user);还可以直接把映射文件里面非空限制去掉,传过来的user就可以不用先查后删除了,直接delete(user);
最新文章
- git常用的命令集合
- 转载:Chrome调试折腾记_(1)调试控制中心快捷键详解!!!
- Java编程思想(Chapter2、4、6)
- BZOJ 2648: SJY摆棋子
- Struts2 自定义拦截器
- C# Winform中如何获取文件名与文件路径
- C++多线程编程(入门实例)
- TDDL:来自淘宝的分布式数据层
- lintcode 中等题:Singleton number II 落单的数 II
- Objective-C Basic
- 电子工程师名片——FAT16文件系统
- js中如何获取时间
- 如何解决Java警告信息:";objc[31336]: Class JavaLaunchHelper is implemented in both places ...";
- No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage
- CTSC&;APIO2018游记
- CH#17C 舞动的夜晚
- C# 利用VS中的插件来打包并发布winfrom程序
- Linux基础命令---cmp
- 动画隐藏UITabBarController与UINavigationController
- Hbase—— rowkey 过滤器(rowfilter)