随笔-21  评论-29  文章-0  trackbacks-0
Hibernate开发流程
   1由Domain Object -> mappin -> db (官方推荐)
   2由D开始,用工具生成mapping 和 Domin Objec 。(使用较多)
   3由映射文件开始
Domain Object的限制  
  1.默认的构造方法(必须得)
  2.有无意义的标示符(主键)(可选)
  3.非final的,对懒加载有影响(可选)

优化我的第一个实例
     由于Base类中的初始化只能初始化一次 ,现新建一个HibernateUtil类(final类),专门用于hibernate的初始化
修改Base类代码为如下
package cn.itcast.hibernate;
import java.util.Date;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import cn.itcast.hibernate.domain.User;
import org.hibernate.Transaction;
public class Base {

    
public static void main(String[] args) {
        
        User user 
= new User();
        user.setBirthday(
new Date());
        user.setName(
"name");
        addUser(user);        
        System.out.println(
"end");
    }

        
static void addUser(User user){
            Session s 
= null ;
            Transaction tx 
= null ;
            
try{
                s 
= HibernateUtil.getSession();
                tx 
= s.beginTransaction();
                s.save(user);
                tx.commit();
            }
catch(HibernateException e){
                
if(tx !=null)
                    tx.rollback();
                
throw e ;
            }
finally {
                
if(s !=null)
                    s.close();
            }

        }

        
}


新建的HibernateUtil类代码如下
package cn.itcast.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public final class HibernateUtil {
    
private static SessionFactory sessionFactory ;
    
private HibernateUtil(){}
    
    
static{
     Configuration cfg 
= new Configuration() ;
        cfg.configure();
        sessionFactory 
= cfg.buildSessionFactory();
     }


    
public static SessionFactory getSessionFactory() {
        
return sessionFactory;
    }

    
    
public static Session getSession(){
        
return sessionFactory.openSession();
    }

     
}

运行 显示成功!
posted on 2009-05-04 10:12 特立独行 阅读(273) 评论(0)  编辑  收藏 所属分类: Hibernate框架

只有注册用户登录后才能发表评论。


网站导航: