hibernate Session中的save(string entity, object object)使用
2个回答
展开全部
hibernate的session.save(Object)的用法例子:
package com.lansing.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {//hibernate工具类
private static Configuration configuration;
private static SessionFactory sessionFactory;
private static ThreadLocal sessionThread=new ThreadLocal();
static{
configuration=new Configuration();
configuration.configure();
sessionFactory=configuration.buildSessionFactory();
}
public static Session getSession(){//拿到session
return sessionFactory.openSession();
}
public static Session getThreadSession(){
Session session=sessionThread.get();
if(session==null){
session=getSession();
sessionThread.set(session);
}
return session;
缓森穗}
}
//测试春启类
package com.lansing.test;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.lansing.entity.User;
import com.lansing.util.HibernateUtil;
public class Test {
public 扰卜static void main(String[] args){
// Configuration configuration=new Configuration();
// //使用hibernate配置文件,启动hibernate,并连接数据库
// configuration.configure();
// //根据配置创建一个sessionFactory对象
// SessionFactory sessionFactory=configuration.buildSessionFactory();
// //通过一个sessionFactory生产出一个session对象
// Session session=sessionFactory.openSession();
Session session=HibernateUtil.getThreadSession();//获得session,用来操作数据库
Transaction transaction=null;
try {
transaction=session.beginTransaction();
User user=new User();//新建一个类
user.setUsername("lisi");
user.setPassword("1234");
session.save(user);//save方法表示将对象映射到数据库中
transaction.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(transaction!=null){
transaction.rollback();
}
e.printStackTrace();
}finally{
if(session!=null){
session.close();
}
}
}
}
展开全部
两个函数的功能相同:
Serializable save(Object object)
首先为给定的自由状态(Transient)的对象(根据配置)生成一个标识并赋值,然后将其持久化。渣信
Serializable save(String entityName, Object object)
首敬羡先为给定的自由状态(亮梁拍Transient)的对象(根据配置)生成一个标识并赋值,然后将其持久化。
区别:
save(string entity, object object)
在<hibernate-mapping>的<class>配置了entity-name属性.
Serializable save(Object object)
首先为给定的自由状态(Transient)的对象(根据配置)生成一个标识并赋值,然后将其持久化。渣信
Serializable save(String entityName, Object object)
首敬羡先为给定的自由状态(亮梁拍Transient)的对象(根据配置)生成一个标识并赋值,然后将其持久化。
区别:
save(string entity, object object)
在<hibernate-mapping>的<class>配置了entity-name属性.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询