hibernate的ssession的方法的讲解
来源:互联网 发布:浙大中控dcs编程语言 编辑:程序博客网 时间:2024/04/27 13:37
import com.hibernate.util.HibernateSessionFactory;
import com.pojos.Dep;
public class SessionFlush {
/**
* @param args
* 在同一个事务,hibernate会先select/save/update/delete这样顺序
*/
public static void main(String[] args) {
Session session = HibernateSessionFactory.getSession();
Transaction tr = session.beginTransaction();
try {
Dep dep = (Dep) session.get(Dep.class, 11);
dep.setDepName("aaa1");
Dep dd = new Dep();
dd.setDepName("b");
session.update(dep);
session.flush(); //刷新缓存,把缓存中sql语句发送到数据库
session.save(dd);
tr.commit();
} catch (Exception e) {
// TODO: handle exception
tr.rollback();
e.printStackTrace();
}
}
}
import org.hibernate.LockMode;
import org.hibernate.Session;
import com.hibernate.util.HibernateSessionFactory;
import com.pojos.Dep;
public class SessionLock {
/**
* @param args
*/
public static void main(String[] args) {
Session session= HibernateSessionFactory.getSession();
Dep dep1 = (Dep) session.get(Dep.class,1);
session.clear(); //执行完,dep1变成游离状态
session.lock(dep1, LockMode.NONE);//把游离状态转为持久(在缓存中有)
Dep dep2 = (Dep) session.get(Dep.class,1);
}
}
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hibernate.util.HibernateSessionFactory;
import com.pojos.Dep;
public class SessionSessionOrUpdate {
/**
* 如果记录在数据库中存在,就做:update
* 不存在,修改
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Session session = HibernateSessionFactory.getSession();
Dep d = new Dep();
//d.setDepId(1);
d.setDepName("聊天部2");
Transaction tr = session.beginTransaction();
session.saveOrUpdate(d);
tr.commit();
}
}
public class SessionUpdate {
/**
* @param args
*/
public static void main(String[] args) {
Session session = HibernateSessionFactory.getSession();
//如果有这句就会报错,查找出来会放在缓存,修改也会放在缓存,这样缓存中有两个一样的1号
Dep dep =(Dep) session.get(Dep.class,1);
Dep d = new Dep();
d.setDepId(1);
d.setDepName("聊天部2");
Transaction tr = session.beginTransaction();
session.update(d);
tr.commit();
}
}
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hibernate.util.HibernateSessionFactory;
import com.pojos.Dep;
public class SessionMerge {
/**合并
* 有就合并,没有添加(不放入缓存)
* 1.没有主键时,做save操作
* 有主键时,就到缓存中查找出此对象,缓存中没有,就到数据库查找此对象
* 2.
* 如果存在,把当前对象值d,给dep,如果完全一样,就不做操作,不一样做update操作
*
* 3.如果不存在,就save
*/
public static void main(String[] args) {
Session session = HibernateSessionFactory.getSession();
//查出来,放在缓存
Dep dep =(Dep) session.get(Dep.class,1);
Dep d = new Dep();
d.setDepId(-1);
d.setDepName("聊天部3");
Transaction tr = session.beginTransaction();
session.merge(d);
tr.commit();
}
}
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hibernate.util.HibernateSessionFactory;
import com.pojos.Dep;
public class SessionSessionOrUpdate {
/**
* 如果记录在数据库中存在,就做:update
* 不存在,修改
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Session session = HibernateSessionFactory.getSession();
Dep d = new Dep();
//d.setDepId(1);
d.setDepName("聊天部2");
Transaction tr = session.beginTransaction();
session.saveOrUpdate(d);
tr.commit();
}
}
- hibernate的ssession的方法的讲解
- ssession和servletContext的比较,Servlet实现访问次数的例子
- hibernate的HQL的讲解
- 在hibernate中save() saveOrUpdate() update() meger方法的讲解
- hibernate中dialect的讲解
- hibernate中dialect的讲解
- available()方法的讲解 .
- JSF+Spring+Hibernate的实例讲解
- JSF+Spring+Hibernate的实例讲解
- JSF+Spring+Hibernate的实例讲解
- JSF+Spring+Hibernate的实例讲解
- JSF+Spring+Hibernate的实例讲解
- JSF+Spring+Hibernate的实例讲解
- hibernate对JPA_Annotation的支持实例讲解
- Hibernate主副配置文件的简单讲解
- main方法的格式讲解
- 求期望的方法讲解
- 关于FragmentPagerAdapter的方法讲解
- 4 款类似 Facebook/Path 切换效果的 iOS 组件
- clearcase中的lsview, startview, endview
- linux 指令盲点
- Hadoop参数说明
- linux 如何关闭防火墙
- hibernate的ssession的方法的讲解
- 将有线改成无线来完成手机Wifi无线上网
- C#数据库操作
- nutch中如果想想对一个文件实现独享,可以使用文件锁
- android添加桌面快捷图库
- 软件开发中的一些感想
- 《买土豆的故事》——经典职场故事
- setContentView+LayoutInflater=完美切换页面
- 爱护无线网络安全衔接九个技巧