Hibernate中对象的状态
来源:互联网 发布:php集成环境 编辑:程序博客网 时间:2024/05/17 15:22
一、对象状态介绍
1.瞬时状态:自己new出来的对象就是瞬时状态。在数据库表中没有记录和对象相对应。
2.持久状态:调用save方法后,数据库表中有记录和该对象对应,并被session管理。
3.脱管状态:数据库中有记录和该对象对应,但是对象不被session管理。
二、用代码表示
package com.hbsi.test;
import java.util.Date;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hbsi.Hibernate.utils.HibernateUtil;
import com.hbsi.domain.User;
public class TestHibernate {
public static voidmain(String[] args) {
User user = newUser();
user.setName("Jerry"); //此时为瞬时状态
user.setBirthday(newDate());
//增
addUser(user);
//查
user =getUser(1);
System.out.println(user.getId()+"\t"+user.getName()+"\t\t"+user.getBirthday());
//此时为托管状态
}
public static voidaddUser(User user) {
Session session =null;
// 开启事物
Transaction tx =null;
try {
session =HibernateUtil.getSession();
tx =session.beginTransaction();
session.save(user); //此时为持久状态
tx.commit();
} catch(HibernateException ex) {
if (tx !=null) {
tx.rollback();
}
throw ex;
} finally {
if(session != null) {
session.close();
}
}
}
public static voidaddUser1(User user) {
Session session =null;
// 开启事物
Transaction tx =null;
try {
session =HibernateUtil.getSession();
tx =session.beginTransaction();
session.save(user);
tx.commit();
} finally {
if(session != null) {
session.close();
}
}
}
public static UsergetUser(int id) {
Session session =null;
try {
session =HibernateUtil.getSession();
/*懒加载:得到的是代理对象,代理对象不为null,但它也没有
* 访问数据库。在第一次使用代理对象时,获取Session,访问数据库。
* */
//Useruser = (User) session.load(User.class, id);
//System.out.println(user.getId()+"\t"+user.getName()+"\t\t"+user.getBirthday());
User user= (User) session.get(User.class, id);
returnuser;
} finally {
if(session != null) {
session.close();
}
}
}
}
- Hibernate中对象的状态
- hibernate中对象的状态
- Hibernate中对象的状态
- Hibernate中对象状态
- Hibernate中对象的三种状态
- Hibernate中对象的三种状态
- hibernate中对象的三种状态
- Hibernate中java对象的状态
- hibernate中java对象的状态
- hibernate中对象的几种状态
- Hibernate应用中Java对象的状态
- Hibernate中对象的状态和生命周期
- Hibernate中对象的三种状态
- Hibernate中对象的三种状态
- Hibernate中 对象 的三种状态
- Hibernate中java对象的状态
- Hibernate中java对象的状态
- hibernate中对象的状态有三种
- ejb 学习:遇到错误:LazyInitializationException.<init> : failed to lazily initialize a collection of role:
- 第一贴,空间搬家了,祝贺。。。
- 如何将类似UNIX系统中的ed编辑器命令脚本化
- VC类中DECLARE_MESSAGE_MAP()有什么含义
- 数据在各程发送的过程
- Hibernate中对象的状态
- 116. Don't claim to know what you don't know. 不要不懂装懂
- C#中使用正则表达式验证电话号码、手机号、身份证号、数字和邮编
- Hibernate的三种状态
- uboot change based on DM368, for BDI3000 bootup
- 在WinCE下编译sqlite3生成动态链接库 .
- 虚拟机Linux安装
- Linux发展史
- Eclipse开发Web项目