HibernateSessionFactory.getSession()用这个方法。myEclipse生成的这个HibernateSessionFactory类当然不用重写,直接调用。package cn.nuaa.service;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;
import hbm.HibernateSessionFactory;
import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;
import cn.nuaa.dao.TestDAO;
import cn.nuaa.vo.Event;
import cn.nuaa.vo.Speaker;
public class TestService
{public static void main(String[] args) throws UnsupportedEncodingException
{
Event e = new  Event();
Speaker s1 = new Speaker() ;
Speaker s2 = new Speaker() ;
s1.setName("111") ;
s2.setName("222") ;
s1.setEvent(e) ;
s2.setEvent(e) ;
e.setTopic("java") ; e.getSpeakers().add(s1) ;
e.getSpeakers().add(s2) ;Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
session.save(e) ;
tx.commit();
session.close();}}
参考这个代码,用的就是myEclipse自动生成的HibernateSessionFactory这个类。 

解决方案 »

  1.   

    这是我刚完成一个项目的代码:
    import functionbackage.business.controlpackage.MangerBusiness;
    import hibernate.hsf.HibernateSessionFactory ;
    import hibernate.pojo.Fund;
    import hibernate.pojo.CfInfo;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.hibernate.Query;
    import java.util.List;
    import hibernate.pojo.CustomerInfo;
    public class MangerFund {

    //===============买基金====================
    public int buyFund(CfInfo CfInfo)
    {
    try
    {
                //==========创建一个session===============
                Session session = HibernateSessionFactory.getSession();
                Transaction tran = session.beginTransaction();//===开始一个事务===
                session.save(CfInfo);//==添加信息====
                
                //=====查找银行现有的钱=============
                Query Query = session.createQuery("from CustomerInfo as c where  cusId ='"+ CfInfo.getCusId() + "'");//查找数据
                List list = Query.list();
                
                CustomerInfo CustomerInfo =(CustomerInfo)list.get(0);
                
                Float money =CustomerInfo.getCusMoney();//银行现有的金额
                
                Float fundprice = CfInfo.getStarprice();//构买基金的格价
                
                Integer num = CfInfo.getBuypointnum();//构基金的股数
                
                float cumoney = money.floatValue() - (fundprice.floatValue()*num.intValue());//现有的钱减去构买基金的钱
                
                //====判断客户是有钱买基金=====
                if(cumoney > 0)
                {
                
                  CustomerInfo =(CustomerInfo)session.get(CustomerInfo.class, CfInfo.getCusId()); //返回一个客户的对象
                  CustomerInfo.setCusMoney(Float.valueOf(cumoney));//改变客现有的金额
                  
                  tran.commit();//==提交事务==
                  session.close();//===关闭session====
                  
                  //========添加一个记录=============
                  MangerBusiness MangerBusiness = new MangerBusiness();
                  MangerBusiness.addbusinessinfo(CfInfo.getCusId(), "x", fundprice.floatValue()*num.intValue(), "");
                  
      return 1 ;
                }
                else
                {             return 2 ;
                }
    }
    catch(Exception sp)
    { return 0 ;
    }
           

    }
      

  2.   

    自动生成的SessionFactory 不需要重写。