22 Hibernateマッピングファイル構成

3731 ワード

id       
increment Hibernate       ,          。

indentity          

squence Oracle  

hilo              ,Hibernate      ,             ,    。

uuid            ,Hibernate  ,      ,  string  ,        。

native            identity squence hilo

assigned       

select          

foreigh         




property    
update         ,             

insert         

formula         ,           。

lazy    ,     。

unique     

not-null      

index    

unique-key     ,   unique-key       

length   

prescision   




Session       ,      ,           , bs             
              ,  session                    。

SessionFactory      ,         SessionFactory,                   ;
SessionFactory                   ,  Hibernate           。



 session           

session.flush()                ,          native        ,
  Hibernate sql                 ,          ,         。
     flush  ,              。

               ,          ,                   ,
                     ,      ,       20           。

 
view plaincopy to clipboardprint?
01.for(int i=0;i<10000;i++){   
02.    s.save(user);   
03.    if(i%20 == 0){   
04.        s.flush();   
05.        s.clear();   
06.    }   
07.}  
for(int i=0;i<10000;i++){
    s.save(user);
    if(i%20 == 0){
        s.flush();
        s.clear();
    }
} 

                   。

     StatelessSession     session,      。     session  。

           ,Hibernate3.0          , 3.0           hql  

view plaincopy to clipboardprint?
01.Query query = session.createQuery("update u set birthday = :bd from User as u");   
02.query.executeUpdate();  
Query query = session.createQuery("update u set birthday = :bd from User as u");
query.executeUpdate(); 

                       ,                。


hql criteria      

      select art,user from Article art,User user where art.author.id = user.id and art.id = :id        Object[],Objectp[0]:article,Object[1]:user。

         get  ,  get          ,      hql               。

DetachedCriteria    ,      。

 
view plaincopy to clipboardprint?
01.static List dc(DetachedCriteria dc){   
02.    Session s = HibernateUtil.getSession();   
03.    Criteria c = dc.getExecutableCriteria)s_;   
04.    List rs = c.list();   
05.    s.close();   
06.    return rs;   
07.}  
static List dc(DetachedCriteria dc){
    Session s = HibernateUtil.getSession();
    Criteria c = dc.getExecutableCriteria)s_;
    List rs = c.list();
    s.close();
    return rs;
}
 

    

view plaincopy to clipboardprint?
01.DetachedCriteria dc = DetachedCriteria.forClass(User.class);   
02.String name = request.getParameter("name");   
03.if(name != null){   
04.    dc.add(Restrictions.eq("name",name));   
05.}   
06.List users = dc(dc);  
DetachedCriteria dc = DetachedCriteria.forClass(User.class);
String name = request.getParameter("name");
if(name != null){
    dc.add(Restrictions.eq("name",name));
}
List users = dc(dc); 

                Criteria。



   end!