hibernate Session中的save(string entity, object object)使用

烦请介绍下,此方法与save(Objectobject)的区别... 烦请介绍下,此方法与save(Object object)的区别 展开
 我来答
小傻

2015-11-12 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

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();
   }
  }
   
   
 }
}
maodrc
2009-04-20 · TA获得超过3289个赞
知道小有建树答主
回答量:1090
采纳率:79%
帮助的人:1181万
展开全部
两个函数的功能相同:

Serializable save(Object object)
首先为给定的自由状态(Transient)的对象(根据配置)生成一个标识并赋值,然后将其持久化。渣信
Serializable save(String entityName, Object object)
首敬羡先为给定的自由状态(亮梁拍Transient)的对象(根据配置)生成一个标识并赋值,然后将其持久化。

区别:
save(string entity, object object)
在<hibernate-mapping>的<class>配置了entity-name属性.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式