又见凌晨时分...
    我的
				
				    H...
				
				    ibernate拾锦...
				
		
		
				
				21、session激发触发器 
   如果一个session激发一个触发器,由于触发器对session是透明的,一次造成数据不一致。
    解决方法:调用session的flush()方法和refresh()使其同步;
    由于使用触发器使得在update时候无法比较属性是否发生变化。
    解决方法:在class元素中设置select-before-update为true。
22、精粒度对象模型
    从一类中抽象出来的单独类,提高代码重用性,被抽象出来的类在映射文件中定义为<component>,无OID,必须依赖父类。
23、session三种检索类型
    a、load()跟get()都以OID加载
       Customer customer = (Customer)session.load(Customer.class,new Long(1));//同get()方法
    b、find()方法通过HQL进行检索(Hibernate 3# 取消该方法)
       List customeLists = session.find("from Customer as c where c.id = 1);
24、延迟检索策略(Hibernate 3# 默认为true)
    class种lazy为true时设置延迟检索,load方法仅返回代理类实例,在第一次使用才加载该实例所有数据,只对load方法有效。
25、HQL检索方式
    List result = session.createQuery("HQL language")
                   .setString("customerName","improviser")
                   .setInteger("customerAge",23)
                   .list();
26、QBC检索方式
    QBC由Criteria和Criterion接口、Expression类组成,支持运行时生成查询语句。Expression提供查询静态方法,返回Criterion对象,Criteria的add方法加入Criterion对象,并以list()执行查询,返回查询结果。
27、QBE检索方式
    先创建一个对象模板,再检索所与该模板相同对象,Example创建一个Criterion对象,把Example对象中不为null的属性作为查询条件,QBE只支持"="和"like"比较。
28、分页查询
    query.setFirstResult(0);//从第一页开始检索
    query.setMaxResults(10);//最多检出10条记录
29、字符配匹模式
    字符串通配符为"%"和"_",中文字应为"%%"配匹;在QBC中可以用MatchMode的静态常量实例来设定字符串模式,如Expression.like("name","i",MatchModle.START))。
30、事务一般用法
				
						
						
								 1     try
						
								
						
						
								 2 
						
								    {
								 3        tx =
						
								 session.beginTransaction();
								 4 
						
								       
								 5 
						
								       tx.commit();
								 6     }catch
						
								(Exception e)
								 7 
						
								    {
								 8        if(tx!=null
						
								)
								 9          try
						
								{
								10 
						
								              tx.rollback();
								11             }catch
						
								(HibernateException ex{}
								12     }finally
						
								
						
						
								13 
						
								    {
								14          try
						
								{
								15 
						
								          session.close();
								16             }catch
						
								(){}
								17 
						
								    }
						
				 
				
				     随着事务提交,我的“夜未眠”也全部提交完成,没有重点,只有基本点,没有高难性,只有实用性。
     ...
     在这中秋过后的季节,仍吹着夏天的风,似乎让我们丝毫无法感受到冬天在四季中的份额,当夏日依依不舍流连忘返不愿离去,我想,我喜欢的是秋天的清爽;我想,我更喜欢的是冬天的到来;我想,我不能再如此未眠...
     二零零七年十月写于广州
    (转载请注明出处)
		
		
		
		
				
						
								
										 
 
凤凰涅槃/浴火重生/马不停蹄/只争朝夕
     隐姓埋名/低调华丽/简单生活/完美人生