锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产无线乱码在线观看,久久精品国产亚洲AV未满十八,一区二区亚洲精品精华液http://www.tkk7.com/ywj-316/category/42558.htmlzh-cnFri, 28 May 2010 05:27:33 GMTFri, 28 May 2010 05:27:33 GMT60INFO XmlConfigurationProvider:380 - Unable to verify action class exists at initializationhttp://www.tkk7.com/ywj-316/archive/2010/05/27/322020.htmljunlyjunlyThu, 27 May 2010 05:49:00 GMThttp://www.tkk7.com/ywj-316/archive/2010/05/27/322020.htmlhttp://www.tkk7.com/ywj-316/comments/322020.htmlhttp://www.tkk7.com/ywj-316/archive/2010/05/27/322020.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/322020.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/322020.html 13:35:42,145  INFO XmlConfigurationProvider:380 - Unable to verify action class [faqAction] exists at initialization
13:35:42,254  INFO Configuration:332 - Reading mappings from file: D:\opt\ASF\Tomcat6.0\webapps\cityunion\WEB-INF\classes\com\c6\orm\model\bull\BullInfo.hbm.xml
13:35:42,442  INFO HbmBinder:322 - Mapping class: com.c6.orm.model.bull.BullInfo -> TB_BULL_INFO
13:35:42,442  INFO Configuration:332 - Reading mappings from file: D:\opt\ASF\Tomcat6.0\webapps\cityunion\WEB-INF\classes\com\c6\orm\model\coin\CardInfo.hbm.xml
13:35:42,457  INFO HbmBinder:322 - Mapping class: com.c6.orm.model.coin.CardInfo -> TB_CARD_INFO
13:35:42,473  INFO Configuration:332 - Reading mappings from file: D:\opt\ASF\Tomcat6.0\webapps\cityunion\WEB-INF\classes\com\c6\orm\model\coin\Payment.hbm.xml
13:35:42,489  INFO HbmBinder:322 - Mapping class: com.c6.orm.model.coin.Payment -> TB_PAYMENT
13:35:42,489  INFO Configuration:332 - Reading mappings from file: D:\opt\ASF\Tomcat6.0\webapps\cityunion\WEB-INF\classes\com\c6\orm\model\coin\TbBankExchangeLog.hbm.xml
銆傘傘傘傘傘傘傘傘傘傘傘?br />
鎻忚堪錛氭彁紺轟俊鎭疷nable to verify action class  exists at initialization
            涓嶅仠鐨勫姞杞?hbm.xml鏂囦歡錛屽鑷磘omcat鏃犳硶鍚姩銆?br /> 琚彁紺轟俊鎭瀵鹼紝鍦ㄧ綉涓婃壘浜嗗ぇ閲忚祫鏂欙紝閮芥病鏈夎В鍐熾傚師鏉ョ敱浜庤嚜宸蹭笉灝忓績鍐欓敊浜嗛厤緗枃浠?br /> <property name="slaveSelfTotal" type="int" column="SLAVE_SELF_TOTAL"/>
<property name="slaveSelfTotal" type="int" column="SLAVE_SELF_TOTAL"/>
鍐欎簡涓ゆ銆?br /> 鍑虹幇浜涢棶棰樺ぇ澶氭槸鍥犱負閰嶇疆鏂囦歡鍑洪敊鑰屽紩璧風殑錛屼粩緇嗘煡鐪嬫渶榪戜慨鏀圭殑緗厤鏂囦歡灝辨壘鍒伴棶棰樹簡

junly 2010-05-27 13:49 鍙戣〃璇勮
]]>
鐢辨槧灝勬枃浠剁敓鎴愯〃http://www.tkk7.com/ywj-316/archive/2009/11/03/300952.htmljunlyjunlyTue, 03 Nov 2009 09:57:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300952.htmlhttp://www.tkk7.com/ywj-316/comments/300952.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300952.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300952.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300952.htmlimport org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;


public class Test {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        Configuration cfg
=new Configuration().configure();
        SchemaExport export
=new SchemaExport(cfg);
        export.create(
truetrue);
    }


}



junly 2009-11-03 17:57 鍙戣〃璇勮
]]>
hibernate.cfg.xmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300950.htmljunlyjunlyTue, 03 Nov 2009 09:56:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300950.htmlhttp://www.tkk7.com/ywj-316/comments/300950.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300950.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300950.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300950.html<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<hibernate-configuration>
  
<session-factory>
      
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
      
<property name="connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=epai</property>
      
<property name="connection.username">sa</property>
      
<property name="connection.password">accp</property>
      
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
      
<property name="hibernate.show_sql">true</property>
      
<property name="hibernate.hbm2ddl.auto">update</property>
      
<property name="hibernate.current_session_context_class">thread</property>
      
    
<!-- 
        <property name="hibernate.current_session_context_class">jta</property>
     
-->
      
      
<mapping resource="org/epai/entity/Users.hbm.xml"/>
      
<mapping resource="org/epai/entity/Goods.hbm.xml"/>
      
<mapping resource="org/epai/entity/Bid.hbm.xml"/>
  
</session-factory>
</hibernate-configuration>

junly 2009-11-03 17:56 鍙戣〃璇勮
]]>
Restrictionshttp://www.tkk7.com/ywj-316/archive/2009/11/03/300947.htmljunlyjunlyTue, 03 Nov 2009 09:46:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300947.htmlhttp://www.tkk7.com/ywj-316/comments/300947.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300947.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300947.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300947.html

HQL榪愮畻絎?/span>

QBC榪愮畻絎?/span>

鍚箟

=

Restrictions.eq()

絳変簬equal

<> 

Restrictions.ne()

涓嶇瓑浜巒ot equal

> 

Restrictions.gt()

澶т簬greater than

>=

Restrictions.ge()

澶т簬絳変簬greater than or equal

< 

Restrictions.lt()

灝忎簬less than

<=

Restrictions.le()

灝忎簬絳変簬less than or equal

is null

Restrictions.isnull()

絳変簬絀哄?/span>

is not null

Restrictions.isNotNull()

闈炵┖鍊?/span>

like

Restrictions.like()

瀛楃涓叉ā寮忓尮閰?/span>

and

Restrictions.and()

閫昏緫涓?/span>

and

Restrictions.conjunction()

閫昏緫涓?/span>

or

Restrictions.or()

閫昏緫鎴?/span>

or

Restrictions.disjunction()

閫昏緫鎴?/span>

not

Restrictions.not()

閫昏緫闈?/span>

in(鍒楄〃)

Restrictions.in()

絳変簬鍒楄〃涓殑鏌愪竴涓?/span>

not in(鍒楄〃)

Restrictions.not(Restrictions.in())

涓嶇瓑浜庡垪琛ㄤ腑浠繪剰涓涓?/span>

between x and y

Restrictions.between()

闂尯闂磝y涓殑浠繪剰鍊?/span>

not between x and y

Restrictions.not(Restrictions..between())

灝忎簬鍊糥鎴栬呭ぇ浜庡紋

//鑾峰彇璁板綍鎬繪暟
recordCount=Convert.ToInt32(criteria.SetProjection( Projections.Count(MovieUrl.__ID )) .UniqueResult(  ));

criteria.SetProjection( 
null );

Criteria c
=session.createCriteria(Book.class);

c.add(Restrictions.like(
"bookname""a",MatchMode.ANYWHERE));

c.add(Restrictions.between(
"bid"13));

c.add(Restrictions.not(Restrictions.in(
"bid"new Integer[]{1,2,4})));

c.setFirstResult(
0);     

c.setMaxResults(
2);    

List list
=c.list();

Restrictions.like(“”,…,MatchMode.ANYWHERE)

AddOrder(Order.asc(“fwid”))

鍦╫racle鏁版嵁搴撲腑錛屽鏋滀嬌鐢?span style="font-size: 12pt; font-family: 瀹嬩綋">Restrictions.ne("name","寮犱笁")錛屼笉浼氬寘鎷瀛楁鍊間負絀虹殑璁板綍

junly 2009-11-03 17:46 鍙戣〃璇勮
]]>
DetachedCriteriahttp://www.tkk7.com/ywj-316/archive/2009/11/03/300943.htmljunlyjunlyTue, 03 Nov 2009 09:41:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300943.htmlhttp://www.tkk7.com/ywj-316/comments/300943.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300943.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300943.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300943.htmlorg.hibernate.criterion.DetachedCriteria鐨勭敤娉?/p>

涓 Hibernate 璁捐浜?CriteriaSpecification 浣滀負 Criteria 鐨勭埗鎺ュ彛錛屼笅闈㈡彁渚涗簡 Criteria鍜孌etachedCriteria 銆?
   1 Criteria 鍜?DetachedCriteria 鐨勪富瑕佸尯鍒湪浜庡垱寤虹殑褰㈠紡涓嶄竴鏍鳳紝 Criteria 鏄湪綰跨殑錛屾墍
浠ュ畠鏄敱 Hibernate Session 榪涜鍒涘緩鐨勶紱鑰?DetachedCriteria 鏄綰跨殑錛屽垱寤烘椂鏃犻渶Session錛孌etachedCriteria 鎻愪緵浜?2 涓潤鎬佹柟娉?forClass(Class) 鎴?forEntityName(Name)
榪涜DetachedCriteria 瀹炰緥鐨勫垱寤恒?Spring 鐨勬鏋舵彁渚涗簡getHibernateTemplate().findByCriteria(detachedCriteria) 鏂規硶鍙互寰堟柟渚垮湴鏍規嵁DetachedCriteria 鏉ヨ繑鍥炴煡璇㈢粨鏋溿?
   2 Criteria 鍜?DetachedCriteria 鍧囧彲浣跨敤 Criterion 鍜?Projection 璁劇疆鏌ヨ鏉′歡銆傚彲浠ヨ
緗?FetchMode( 鑱斿悎鏌ヨ鎶撳彇鐨勬ā寮?) 錛岃緗帓搴忔柟寮忋傚浜?Criteria 榪樺彲浠ヨ緗?FlushModel
錛堝啿鍒?Session 鐨勬柟寮忥級鍜?LockMode 錛堟暟鎹簱閿佹ā寮忥級銆?
浜?涓嬮潰瀵?Criterion 鍜?Projection 榪涜璇︾粏璇存槑錛?br />    1 Criterion 鏄?Criteria 鐨勬煡璇㈡潯浠躲侰riteria 鎻愪緵浜?add(Criterion criterion) 鏂規硶鏉?br /> 娣誨姞鏌ヨ鏉′歡銆?br />    2 Criterion 鎺ュ彛鐨勪富瑕佸疄鐜板寘鎷細 Example 銆?Junction 鍜?SimpleExpression 銆傝?
Junction 鐨勫疄闄呬嬌鐢ㄦ槸瀹冪殑涓や釜瀛愮被 conjunction 鍜?disjunction 錛屽垎鍒槸浣跨敤 AND 鍜?OR 鎿?br /> 浣滅榪涜鏉ヨ仈緇撴煡璇㈡潯浠墮泦鍚堛?br />    3 Criterion 鐨勫疄渚嬪彲浠ラ氳繃 Restrictions 宸ュ叿綾繪潵鍒涘緩錛孯estrictions 鎻愪緵浜嗗ぇ閲忕殑闈欐?br /> 鏂規硶錛屽 eq 錛堢瓑浜庯級銆?ge 錛堝ぇ浜庣瓑浜庯級銆?between 絳夋潵鏂規硶鐨勫垱寤?Criterion 鏌ヨ鏉′歡
錛圫impleExpression 瀹炰緥錛夈傞櫎姝や箣澶栵紝 Restrictions 榪樻彁渚涗簡鏂規硶鏉ュ垱寤?conjunction 鍜?
disjunction 瀹炰緥錛岄氳繃寰璇ュ疄渚嬬殑 add(Criteria) 鏂規硶鏉ュ鍔犳煡璇㈡潯浠跺艦鎴愪竴涓煡璇㈡潯浠墮泦鍚堛?br />    4 鑷充簬 Example 鐨勫垱寤烘湁鎵涓嶅悓錛?Example 鏈韓鎻愪緵浜嗕竴涓潤鎬佹柟娉?create(Object entity)錛?br /> 鍗蟲牴鎹竴涓璞★紙瀹為檯浣跨敤涓竴鑸槸鏄犲皠鍒版暟鎹簱鐨勫璞★級鏉ュ垱寤恒傜劧鍚庡彲浠ヨ緗竴浜涜繃婊ゆ潯浠訛細
Example exampleUser =Example.create(u).ignoreCase() // 蹇界暐澶у皬鍐?
                                      .enableLike(MatchMode.ANYWHERE);
           // 瀵?String 綾誨瀷鐨勫睘鎬э紝鏃犺鍦ㄩ偅閲屽煎湪閭i噷閮藉尮閰嶃傜浉褰撲簬 %value%
   5 Project 涓昏鏄 Criteria 鑳藉榪涜鎶ヨ〃鏌ヨ錛屽茍鍙互瀹炵幇鍒嗙粍銆?Project 涓昏鏈?
SimpleProjection 銆?ProjectionList 鍜?Property 涓変釜瀹炵幇銆傚叾涓?SimpleProjection 鍜?
ProjectionList 鐨勫疄渚嬪寲鏄敱鍐呭緩鐨?Projections 鏉ュ畬鎴愶紝濡傛彁渚涚殑 avg 銆?count 銆?max 銆?
min 銆?sum 鍙互璁╁紑鍙戣呭緢瀹規槗瀵規煇涓瓧孌佃繘琛岀粺璁℃煡璇€?
   6 Property 鏄鏌愪釜瀛楁榪涜鏌ヨ鏉′歡鐨勮緗紝濡傞氳繃Porperty.forName(“color”).in
(new String[]{“black”,”red”,”write”}); 鍒欏彲浠ュ垱寤轟竴涓?Project 瀹炰緥銆傞氳繃
criteria 鐨?add(Project) 鏂規硶鍔犲叆鍒版煡璇㈡潯浠朵腑鍘匯?
   浣跨敤 Criteria 榪涜鏌ヨ錛屼富瑕佽娓呮櫚鐨勬槸 Hibernate 鎻愪緵浜嗛偅浜涚被鍜屾柟娉曟潵婊¤凍寮鍙戜腑鏌?br /> 璇㈡潯浠剁殑鍒涘緩鍜岀粍瑁咃紝涓嬮潰浠嬬粛鍑犵鐢ㄦ硶錛?br />    1. 鍒涘緩涓涓狢riteria 瀹炰緥
   org.hibernate.Criteria鎺ュ彛琛ㄧず鐗瑰畾鎸佷箙綾葷殑涓涓煡璇€係ession鏄?Criteria瀹炰緥鐨勫伐鍘傘?br />    Criteria crit = sess.createCriteria(Cat.class);
   crit.setMaxResults(50);
   List cats = crit.list();
 
   2. 闄愬埗緇撴灉闆嗗唴瀹?br />    涓涓崟鐙殑鏌ヨ鏉′歡鏄痮rg.hibernate.criterion.Criterion 鎺ュ彛鐨勪竴涓疄渚嬨?br />    org.hibernate.criterion.Restrictions綾?瀹氫箟浜嗚幏寰楁煇浜涘唴緗瓹riterion綾誨瀷鐨勫伐鍘傛柟娉曘?

   List cats = sess.createCriteria(Cat.class)
                   .add( Restrictions.like("name", "Fritz%") )
                   .add( Restrictions.between("weight", minWeight, maxWeight) )
                   .list();

   綰︽潫鍙互鎸夐昏緫鍒嗙粍銆?

 

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.like("name", "Fritz%") )

    .add( Restrictions.or(

        Restrictions.eq( "age", new Integer(0) ),

        Restrictions.isNull("age")

    ) )

    .list();

 

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.in( "name", new String[] { "Fritz", "Izi", "Pk" } ) )

    .add( Restrictions.disjunction()

        .add( Restrictions.isNull("age") )

        .add( Restrictions.eq("age", new Integer(0) ) )

        .add( Restrictions.eq("age", new Integer(1) ) )

        .add( Restrictions.eq("age", new Integer(2) ) )

    ) )

    .list();

 

Hibernate鎻愪緵浜嗙浉褰撳鐨勫唴緗甤riterion綾誨瀷(Restrictions 瀛愮被), 浣嗘槸灝ゅ叾鏈夌敤鐨勬槸鍙互鍏佽

浣犵洿鎺ヤ嬌鐢⊿QL銆?

 

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.sql("lower({alias}.name) like lower(?)", "Fritz%",

Hibernate.STRING) )

    .list();

 

{alias}鍗犱綅絎﹀簲褰撹鏇挎崲涓鴻鏌ヨ瀹炰綋鐨勫垪鍒悕銆?

Property瀹炰緥鏄幏寰椾竴涓潯浠剁殑鍙﹀涓縐嶉斿緞銆備綘鍙互閫氳繃璋冪敤Property.forName() 鍒涘緩涓涓?/p>

Property銆?

 

  Property age = Property.forName("age");

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.disjunction()

        .add( age.isNull() )

        .add( age.eq( new Integer(0) ) )

        .add( age.eq( new Integer(1) ) )

        .add( age.eq( new Integer(2) ) )

    ) )

    .add( Property.forName("name").in( new String[] { "Fritz", "Izi", "Pk" } ) )

    .list();

 

3. 緇撴灉闆嗘帓搴?/p>

浣犲彲浠ヤ嬌鐢╫rg.hibernate.criterion.Order鏉ヤ負鏌ヨ緇撴灉鎺掑簭銆?

 

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.like("name", "F%")

    .addOrder( Order.asc("name") )

    .addOrder( Order.desc("age") )

    .setMaxResults(50)

    .list();

 

List cats = sess.createCriteria(Cat.class)

    .add( Property.forName("name").like("F%") )

    .addOrder( Property.forName("name").asc() )

    .addOrder( Property.forName("age").desc() )

    .setMaxResults(50)

    .list();

 

4. 鍏寵仈

浣犲彲浠ヤ嬌鐢╟reateCriteria()闈炲父瀹規槗鐨勫湪浜掔浉鍏寵仈鐨勫疄浣撻棿寤虹珛 綰︽潫銆?/p>

 

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.like("name", "F%")

    .createCriteria("kittens")

        .add( Restrictions.like("name", "F%")

    .list();

 

娉ㄦ剰絎簩涓?createCriteria()榪斿洖涓涓柊鐨?Criteria瀹炰緥錛岃瀹炰緥寮曠敤kittens 闆嗗悎涓殑鍏冪礌銆?

鎺ヤ笅鏉ワ紝鏇挎崲褰㈡佸湪鏌愪簺鎯呭喌涓嬩篃鏄緢鏈夌敤鐨勩?/p>

 

List cats = sess.createCriteria(Cat.class)

    .createAlias("kittens", "kt")

    .createAlias("mate", "mt")

    .add( Restrictions.eqProperty("kt.name", "mt.name") )

    .list();

 

(createAlias()騫朵笉鍒涘緩涓涓柊鐨?Criteria瀹炰緥銆?

Cat瀹炰緥鎵淇濆瓨鐨勪箣鍓嶄袱嬈℃煡璇㈡墍榪斿洖鐨刱ittens闆嗗悎鏄?娌℃湁琚潯浠墮榪囨護鐨勩傚鏋滀綘甯屾湜鍙幏寰?/p>

絎﹀悎鏉′歡鐨刱ittens錛?浣犲繀欏諱嬌鐢╮eturnMaps()銆?

 

List cats = sess.createCriteria(Cat.class)

    .createCriteria("kittens", "kt")

    .add( Restrictions.eq("name", "F%") )

    .returnMaps()

    .list();

Iterator iter = cats.iterator();

while ( iter.hasNext() ) {

    Map map = (Map) iter.next();

    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);

    Cat kitten = (Cat) map.get("kt");

}

5. 鍔ㄦ佸叧鑱旀姄鍙?

浣犲彲浠ヤ嬌鐢╯etFetchMode()鍦ㄨ繍琛屾椂瀹氫箟鍔ㄦ佸叧鑱旀姄鍙栫殑璇箟銆?

 

List cats = sess.createCriteria(Cat.class)

    .add( Restrictions.like("name", "Fritz%") )

    .setFetchMode("mate", FetchMode.EAGER)

    .setFetchMode("kittens", FetchMode.EAGER)

    .list();

 

榪欎釜鏌ヨ鍙互閫氳繃澶栬繛鎺ユ姄鍙杕ate鍜宬ittens銆?/p>

 

6. 鏌ヨ紺轟緥

org.hibernate.criterion.Example綾誨厑璁鎬綘閫氳繃涓涓粰瀹氬疄渚?鏋勫緩涓涓潯浠舵煡璇€?/p>

 

Cat cat = new Cat();

cat.setSex('F');

cat.setColor(Color.BLACK);

List results = session.createCriteria(Cat.class)

    .add( Example.create(cat) )

    .list();

 

鐗堟湰灞炴с佹爣璇嗙鍜屽叧鑱旇蹇界暐銆傞粯璁ゆ儏鍐典笅鍊間負null鐨勫睘鎬у皢琚帓闄ゃ?

鍙互鑷璋冩暣Example浣夸箣鏇村疄鐢ㄣ?

 

Example example = Example.create(cat)

    .excludeZeroes()           //exclude zero valued properties

    .excludeProperty("color")  //exclude the property named "color"

    .ignoreCase()              //perform case insensitive string comparisons

    .enableLike();             //use like for string comparisons

List results = session.createCriteria(Cat.class)

    .add(example)

    .list();

 

鐢氳嚦鍙互浣跨敤examples鍦ㄥ叧鑱斿璞′笂鏀劇疆鏉′歡銆?/p>

 

List results = session.createCriteria(Cat.class)

    .add( Example.create(cat) )

    .createCriteria("mate")

        .add( Example.create( cat.getMate() ) )

    .list();

 

7. 鎶曞獎(Projections)銆佽仛鍚堬紙aggregation錛夊拰鍒嗙粍錛坓rouping錛?/p>

org.hibernate.criterion.Projections鏄?Projection 鐨勫疄渚嬪伐鍘傘傛垜浠氳繃璋冪敤

setProjection()搴旂敤鎶曞獎鍒頒竴涓煡璇€?

 

List results = session.createCriteria(Cat.class)

    .setProjection( Projections.rowCount() )

    .add( Restrictions.eq("color", Color.BLACK) )

    .list();

 

List results = session.createCriteria(Cat.class)

    .setProjection( Projections.projectionList()

        .add( Projections.rowCount() )

        .add( Projections.avg("weight") )

        .add( Projections.max("weight") )

        .add( Projections.groupProperty("color") )

    )

    .list();

顥ヮ棩

鍦ㄤ竴涓潯浠舵煡璇腑娌℃湁蹇呰鏄懼紡鐨勪嬌鐢?"group by" 銆傛煇浜涙姇褰辯被鍨嬪氨鏄瀹氫箟涓?鍒嗙粍鎶曞獎錛屼粬

浠篃鍑虹幇鍦⊿QL鐨刧roup by瀛愬彞涓?

鍙互閫夋嫨鎶婁竴涓埆鍚嶆寚媧劇粰涓涓姇褰憋紝榪欐牱鍙互浣挎姇褰卞艱綰︽潫鎴栨帓搴忔墍寮曠敤銆備笅闈㈡槸涓ょ涓嶅悓鐨?/p>

瀹炵幇鏂瑰紡錛?

 

List results = session.createCriteria(Cat.class)

    .setProjection( Projections.alias( Projections.groupProperty("color"), "colr" ) )

    .addOrder( Order.asc("colr") )

    .list();

 

顥ヮ棩

List results = session.createCriteria(Cat.class)

    .setProjection( Projections.groupProperty("color").as("colr") )

    .addOrder( Order.asc("colr") )

    .list();

 

alias()鍜宎s()鏂規硶綆渚跨殑灝嗕竴涓姇褰卞疄渚嬪寘瑁呭埌鍙﹀涓涓?鍒悕鐨凱rojection瀹炰緥涓傜畝鑰岃█涔嬶紝

褰撲綘娣誨姞涓涓姇褰卞埌涓涓姇褰卞垪琛ㄤ腑鏃?浣犲彲浠ヤ負瀹冩寚瀹氫竴涓埆鍚嶏細

 

List results = session.createCriteria(Cat.class)

    .setProjection( Projections.projectionList()

        .add( Projections.rowCount(), "catCountByColor" )

        .add( Projections.avg("weight"), "avgWeight" )

        .add( Projections.max("weight"), "maxWeight" )

        .add( Projections.groupProperty("color"), "color" )

    )

    .addOrder( Order.desc("catCountByColor") )

    .addOrder( Order.desc("avgWeight") )

    .list();

 

List results = session.createCriteria(Domestic.class, "cat")

    .createAlias("kittens", "kit")

    .setProjection( Projections.projectionList()

        .add( Projections.property("cat.name"), "catName" )

        .add( Projections.property("kit.name"), "kitName" )

    )

    .addOrder( Order.asc("catName") )

    .addOrder( Order.asc("kitName") )

    .list();

 

涔熷彲浠ヤ嬌鐢≒roperty.forName()鏉ヨ〃紺烘姇褰憋細

 

List results = session.createCriteria(Cat.class)

    .setProjection( Property.forName("name") )

    .add( Property.forName("color").eq(Color.BLACK) )

    .list();

List results = session.createCriteria(Cat.class)

    .setProjection( Projections.projectionList()

        .add( Projections.rowCount().as("catCountByColor") )

        .add( Property.forName("weight").avg().as("avgWeight") )

        .add( Property.forName("weight").max().as("maxWeight") )

        .add( Property.forName("color").group().as("color" )

    )

    .addOrder( Order.desc("catCountByColor") )

    .addOrder( Order.desc("avgWeight") )

    .list();

 

8. 紱葷嚎(detached)鏌ヨ鍜屽瓙鏌ヨ

   鍦╳eb灞傦紝紼嬪簭鍛樹嬌鐢―etachedCriteria鏉ユ瀯閫犳煡璇㈡潯浠訛紝鐒跺悗灝嗚繖涓狣etachedCriteria浣滀負鏂規硶璋冪敤鍙傛暟浼犻掔粰涓氬姟灞傚璞°傝屼笟鍔″眰瀵硅薄鑾峰緱DetachedCriteria涔嬪悗錛屽彲浠ュ湪session鑼冨洿鍐呯洿鎺ユ瀯閫燙riteria錛岃繘琛屾煡璇€傚氨姝わ紝鏌ヨ璇彞鐨勬瀯閫犲畬鍏ㄨ鎼鍒皐eb灞傚疄鐜幫紝鑰屼笟鍔″眰鍒欏彧璐熻矗瀹屾垚鎸佷箙鍖栧拰鏌ヨ鐨勫皝瑁呭嵆鍙紝涓庢煡璇㈡潯浠舵瀯閫犲畬鍏ㄨВ鑰︼紝闈炲父瀹岀編錛佽繖鎭愭曚篃鏄互鍓嶅緢澶氫紒鍥懼湪web灞備唬鐮佷腑鏋勯燞QL璇彞鐨勪漢鎯沖疄鐜扮殑姊︽兂鍚э紒

DetachedCriteria綾諱嬌浣犲湪涓涓猻ession鑼冨洿涔嬪鍒涘緩涓涓煡璇紝騫朵笖鍙互浣跨敤浠繪剰鐨?Session鏉?/p>

鎵ц瀹冦?

 

DetachedCriteria query = DetachedCriteria.forClass(Cat.class)

    .add( Property.forName("sex").eq('F') );

//鍒涘緩涓涓猄ession

Session session = .;

Transaction txn = session.beginTransaction();

List results = query.getExecutableCriteria(session).setMaxResults(100).list();

txn.commit();

session.close();

 

DetachedCriteria涔熷彲浠ョ敤浠ヨ〃紺哄瓙鏌ヨ銆傛潯浠跺疄渚嬪寘鍚瓙鏌ヨ鍙互閫氳繃 Subqueries鎴栬?/p>

Property鑾峰緱銆?/p>

 

DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)

    .setProjection( Property.forName("weight").avg() );

session.createCriteria(Cat.class)

    .add( Property.forName("weight).gt(avgWeight) )

    .list();

DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)

    .setProjection( Property.forName("weight") );

session.createCriteria(Cat.class)

    .add( Subqueries.geAll("weight", weights) )

    .list();

鐩鎬簰鍏寵仈鐨勫瓙鏌ヨ涔熸槸鏈夊彲鑳界殑錛?

DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat.class, "cat2")

    .setProjection( Property.forName("weight").avg() )

    .add( Property.forName("cat2.sex").eqProperty("cat.sex") );

session.createCriteria(Cat.class, "cat")

    .add( Property.forName("weight).gt(avgWeightForSex) )

    .list();


渚嬪瓙
public List findAllByCriter(final DetachedCriteria detachedCriteria){
 return (List)getHibernateTemplate().execute(new HibernateCallback(){
  public Object doInHibernate(Session session)
   throws HibernateException{
   Criteria criteria=detachedCriteria.getExecutableCriteria(session);
   return criteria.list();
  }
 });
}

 

鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/kjfcpua/archive/2009/06/21/4287248.aspx
-----------------------------------------------------------------------------------------
Hibernate涓鐩撮兘璁や負姣旇緝綆鍗?灝遍偅涔堝獎灝勪竴涓嬶細錛変絾鏈榪戦」鐩綋涓亣瑙佸緢澶氶棶棰橈紝浠婂ぉ鐪嬭鍒漢鍦ㄩ」鐩綋涓嬌鐢ㄤ簡銆Hibernate3鐨凞etachedCriteria錛屾劅瑙夌湡鐨勬槸澶ソ浜嗭紝浜庢槸灝辮姳浜嗙偣鏃墮棿鐮旂┒浜嗕竴涓嬶紝甯屾湜鍜屽ぇ瀹跺垎浜竴涓嬪惂
銆銆閽堝榪欑闇姹傦紝瀵逛簬鍒嗗眰搴旂敤紼嬪簭鏉ヨ錛學eb灞傞渶瑕佷紶閫掍竴涓煡璇㈢殑鏉′歡鍒楄〃緇欎笟鍔″眰瀵硅薄錛屼笟鍔″眰瀵硅薄鑾峰緱榪欎釜鏉′歡鍒楄〃涔嬪悗錛岀劧鍚庝緷嬈″彇鍑烘潯浠訛紝鏋勯犳煡璇㈣鍙ャ傝繖閲岀殑涓涓毦鐐規槸鏉′歡鍒楄〃鐢ㄤ粈涔堟潵鏋勯狅紵浼犵粺涓婁嬌鐢∕ap錛屼絾鏄繖縐嶆柟寮忕己闄峰緢澶э紝Map鍙互浼犻掔殑淇℃伅闈炲父鏈夐檺錛屽彧鑳戒紶閫抧ame鍜?value錛屾棤娉曚紶閫掔┒绔熻鍋氭庢牱鐨勬潯浠惰繍綆楋紝絀剁珶鏄ぇ浜庯紝灝忎簬錛宭ike錛岃繕鏄叾瀹冪殑浠涔堬紝涓氬姟灞傚璞″繀欏葷‘鍒囨帉鎻℃瘡鏉ntry鐨勯殣鍚潯浠躲傚洜姝や竴鏃﹂殣鍚潯浠舵敼鍙橈紝涓氬姟灞傚璞$殑鏌ヨ鏋勯犵畻娉曞繀欏葷浉搴斾慨鏀癸紝浣嗘槸榪欑鏌ヨ鏉′歡鐨勬敼鍙樻槸闅愬紡綰﹀畾鐨勶紝鑰屼笉鏄▼搴忎唬鐮佺害鏉熺殑錛屽洜姝ら潪甯稿鏄撳嚭閿欍?/p>

銆銆DetachedCriteria鍙互瑙e喅榪欎釜闂錛屽嵆鍦╳eb灞傦紝紼嬪簭鍛樹嬌鐢―etachedCriteria鏉ユ瀯閫犳煡璇㈡潯浠訛紝鐒跺悗灝嗚繖涓?DetachedCriteria浣滀負鏂規硶璋冪敤鍙傛暟浼犻掔粰涓氬姟灞傚璞°傝屼笟鍔″眰瀵硅薄鑾峰緱DetachedCriteria涔嬪悗錛屽彲浠ュ湪session鑼冨洿鍐呯洿鎺ユ瀯閫燙riteria錛岃繘琛屾煡璇€傚氨姝わ紝鏌ヨ璇彞鐨勬瀯閫犲畬鍏ㄨ鎼鍒皐eb灞傚疄鐜幫紝鑰屼笟鍔″眰鍒欏彧璐熻矗瀹屾垚鎸佷箙鍖栧拰鏌ヨ鐨勫皝瑁呭嵆鍙紝涓庢煡璇㈡潯浠舵瀯閫犲畬鍏ㄨВ鑰︼紝闈炲父瀹岀編錛佽繖鎭愭曚篃鏄互鍓嶅緢澶氫紒鍥懼湪web灞備唬鐮佷腑鏋勯燞QL璇彞鐨勪漢鎯沖疄鐜扮殑姊︽兂鍚э紒

銆銆紺轟緥浠g爜鐗囨濡備笅錛?/p>

銆銆web灞傜▼搴忔瀯閫犳煡璇㈡潯浠訛細

銆銆Java浠g爜:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Department.class);
detachedCriteria.add(Restrictions.eq("name", "department")).createAlias("employees", "e").add(Restrictions.gt(("e.age"), new Integer(20)));

銆銆Department鍜孍mployee鏄竴瀵瑰鍏寵仈錛屾煡璇㈡潯浠朵負錛?/p>

銆銆鍚嶇О鏄?#8220;department”寮鍙戦儴闂紱
銆銆閮ㄩ棬閲岄潰鐨勯泧鍛樺勾榫勫ぇ浜?0宀侊紱

銆銆涓氬姟灞傚璞′嬌鐢ㄨ鏉′歡鎵ц鏌ヨ錛?/p>

銆銆java浠g爜: detachedCriteria.getExecutableCriteria(session).list();
銆銆鏈澶х殑鎰忎箟鍦ㄤ簬錛屼笟鍔″眰浠g爜鏄浐瀹氫笉鍙樼殑錛屾墍鏈夋煡璇㈡潯浠剁殑鏋勯犻兘鍦╳eb灞傚畬鎴愶紝涓氬姟灞傚彧璐熻矗鍦╯ession鍐呮墽琛屼箣銆傝繖鏍蜂唬鐮佸氨鍙斁涔嬪洓嫻瘋岀殕鍑嗭紝閮芥棤欏諱慨鏀逛簡銆?/p>

銆銆鐒惰孲pring鍜孒ibernate3鐨凞etachedCriteria鏈変笉鍏煎鐨勯棶棰橈紝鍥犳鍦⊿pring鐜涓嬮潰浣跨敤Hibernate3闇瑕佹敞鎰忥細

銆銆Spring鐨凥ibernateTemplate鎻愪緵浜咹ibernate鐨勫畬緹庡皝瑁咃紝鍗抽氳繃鍖垮悕綾誨疄鐜板洖璋冿紝鏉ヤ繚璇丼ession鐨勮嚜鍔ㄨ祫婧愮鐞嗗拰浜嬪姟鐨勭鐞嗐傚叾涓牳蹇冩柟娉曟槸錛?/p>

銆銆java浠g爜:
HibernateTemplate.execute(new HibernateCallback() {
銆public Object doInHibernate(Session session) throws HibernateException {
銆銆....
銆}
}
銆銆鍥炶皟鏂規硶鎻愪緵浜唖ession浣滀負鍙傛暟錛屾湁浜唖ession錛屽氨鍙互鑷敱鐨勪嬌鐢℉ibernate API緙栫▼浜嗐備嬌鐢ㄤ簡spring鐨勪箣鍚庯紝浠g爜淇敼濡備笅錛?/p>

銆銆web灞備唬鐮侊細

銆銆java浠g爜:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Department.class);
detachedCriteria.createAlias("employees", "e").add(Restrictions.eq("name", "department")).add(Restrictions.gt(("e.age"), new Integer(20)));
departmentManager.findByCriteria(detachedCriteria);
銆銆鏋勯燿etachedCriteria錛屼綔涓哄弬鏁頒紶閫掔粰departmentManager

銆銆涓氬姟灞備唬鐮佷嬌鐢╯pring錛孌epartmentManager鐨刦indByCriteria濡備笅錛?/p>

銆銆java浠g爜:

public List findByCriteria(final DetachedCriteria detachedCriteria) {
銆return (List) getHibernateTemplate().execute(new HibernateCallback() {
銆銆public Object doInHibernate(Session session) throws HibernateException {
銆銆銆Criteria criteria = detachedCriteria.getExecutableCriteria(session);
銆銆銆return criteria.list();
銆銆}
銆});
}
銆銆瀹為檯涓婁篃灝辨槸錛?/p>

銆銆java浠g爜:
Criteria criteria = detachedCriteria.getExecutableCriteria(session);
return criteria.list();
銆銆鑰屽凡

銆銆浣嗘槸璇ョ▼搴忎唬鐮佹墽琛岋紝浼氭姏鍑哄己鍒剁被鍨嬭漿鎹㈠紓甯革紒

銆銆鎴戣窡韙簡涓涓媠pring鍜孒ibernate婧愪唬鐮侊紝鍘熷洜濡備笅錛?/p>

銆銆spring鐨凥ibernateTemplate鐨別xecute鏂規硶鎻愪緵鐨勫洖璋冩帴鍙e叿鏈塖ession浣滀負鍙傛暟錛屼絾鏄疄闄呬笂錛岄粯璁ゆ儏鍐典笅錛?HibernateTemplate浼犻掔粰鍥炶皟鎺ュ彛鐨剆ession騫朵笉鏄痮rg.hibernate.impl.SessionImpl綾伙紝鑰屾槸 SessionImpl綾葷殑涓涓狿roxy綾匯備箣鎵浠ユ浛鎹㈡垚涓轟竴涓狿roxy綾伙紝HibernateTemplate鐨勬敞閲婅鏄庯紝Proxy鎻愪緵浜嗕竴浜涢澶栫殑鍔熻兘錛屽寘鎷嚜鍔ㄨ緗瓹achable錛孴ransaction鐨勮秴鏃舵椂闂達紝Session璧勬簮鐨勬洿縐瀬鐨勫叧闂瓑絳夈?/p>

銆銆java浠g爜:
private boolean exposeNativeSession = false;
...
銆銆execute鏂規硶鍐呴儴錛?br /> Session sessionToExpose = (exposeNativeSession ? session : createSessionProxy(session));

銆銆浣嗘槸閬楁喚鐨勬槸錛孒ibernate鐨凞etachedCriteria鐨剆etExecutableCriteria鏂規硶鍗磋姹傚皢session鍙傛暟寮哄埗杞負SessionImpl錛屼絾鏄痵pring浼犺繃鏉ョ殑鍗存槸涓涓狿roxy綾伙紝鍥犳灝辨姤閿欎簡銆?/p>

銆銆java浠g爜:
public Criteria getExecutableCriteria(Session session) {
銆impl.setSession( (SessionImpl) session ); // 瑕佹眰SessionImpl錛孲pring浼犻掔殑鏄疨roxy
銆return impl;
}

銆銆瑙e喅鏂規硶錛岀姝pring鐨凥ibernateTemplate浼犻扨roxy綾伙紝寮哄埗瑕佹眰瀹冧紶閫掔湡瀹炵殑SessionImpl綾伙紝鍗崇粰exexute鏂規硶澧炲姞涓涓弬鏁幫紝鎻愪緵鍙傛暟涓簍rue錛屽涓嬶細

銆銆java浠g爜:
public List findByCriteria(final DetachedCriteria detachedCriteria) {
銆return (List) getHibernateTemplate().execute(new HibernateCallback() {
銆銆public Object doInHibernate(Session session) throws HibernateException {
銆銆銆Criteria criteria = detachedCriteria.getExecutableCriteria(session);
銆銆銆return criteria.list();
銆銆}
銆}, true);
}



junly 2009-11-03 17:41 鍙戣〃璇勮
]]>
hibernate鍩虹-HibernateTemplatehttp://www.tkk7.com/ywj-316/archive/2009/11/03/300938.htmljunlyjunlyTue, 03 Nov 2009 09:20:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300938.htmlhttp://www.tkk7.com/ywj-316/comments/300938.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300938.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300938.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300938.html1 錛寁oid delete ( Object entity ) : 鍒犻櫎鎸囧畾鎸佷箙鍖栧疄渚?br /> public void removePerson( int personid)
{
//鍏堝姞杞界壒瀹氱殑瀹炰緥
Object p = getHibernateTemplate().load( Person.class , new Integer( personid));
//鍒犻櫎鐗瑰畾瀹炰緥
getHibernateTemplate().delete (p);
}
2 錛宒eleteAll ( Collection entities ) : 鍒犻櫎闆嗗悎鍐呭叏閮ㄦ寔涔呭寲綾誨疄渚?/p>

3 錛宖ind ( String queryString ) : 鏍規嵁HQL鏌ヨ瀛楃涓叉潵榪斿洖瀹炰緥闆嗗悎
Public List getPersons()
{
//榪斿洖Person鐨勫叏閮ㄥ疄渚?br /> return getHibernateTemplate().find ( " from Person " );
}

4 錛宖indByNamedQuery ( String queryName) : 鏍規嵁鍛藉悕鏌ヨ榪斿洖瀹炰緥闆嗗悎

5 錛実et ( Class entityClass , Serializable id ) : 鏍規嵁涓婚敭鍔犺澆鐗瑰畾鎸佷箙鍖栫被鐨勫疄渚?br /> public Person getPerson()
{  
//榪斿洖鐗瑰畾涓婚敭瀵瑰簲鐨凱erson瀹炰緥
return (Person)getHibernateTemplate().get (Person.class , new Integer(person id));
}
6 錛宻ave ( Object entity ) : 淇濆瓨鏂扮殑瀹炰緥

7 錛宻aveOrUpdate ( Object entity ): 鏍規嵁瀹炰緥鐘舵侊紝閫夋嫨淇濆瓨鎴栬呮洿鏂?/p>

8 錛寀pdate ( Object entity ) : 鏇存柊瀹炰緥鐨勭姸鎬侊紝瑕佹眰entity鏄寔涔呯姸鎬?/p>

9 錛宻etMaxResults ( int maxResults ) : 璁劇疆鍒嗛〉鐨勫ぇ灝忋?/p>


HibernateTemplate鐨?鏇寸伒媧?鐨勭敤娉?錛?br /> 鏇寸伒媧葷殑璁塊棶鏄氳繃浠ヤ笅涓や釜鏂規硶瀹屾垚鐨?
Object execute ( HibernateCallback action ) ;
List execute ( HibernateCallback action );
榪欎袱涓柟娉曢兘闇瑕佷竴涓狧ibernateCallback鐨勫疄渚嬶紝鍙互鍦ㄤ換浣曟湁鏁堢殑hibernate鏁版嵁璁塊棶涓嬌鐢ㄣ傜敤娉曠伒媧伙紝瑙e喅浜哠pring灝佽Hibernate鍚庣伒媧繪т笉瓚崇殑緙洪櫡銆?HibernateCallback 鏄竴涓帴錛岃鎺ュ彛鍙湁涓涓柟doInHibernate ( org.hibernate.Session session ), 璇ユ柟娉曞彧鏈変竴涓弬鏁癝ession.

public class PersonDaolmpl implements PersonDao
{
// 縐佹湁瀹炰緥鍙橀噺淇濆瓨SessionFactory
private SessionFactory sessionFactory;
// 渚濊禆娉ㄥ叆蹇呴渶鐨剆etter 鏂規硶
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
}

/**
*閫氳繃浜哄悕鏌ユ壘鎵鏈夊尮閰嶈鍚嶇殑Person 瀹炰緥
@param name 鍖歸厤鐨勪漢鍚?br /> @return 鍖歸厤璇ヤ換鍛界殑鍏ㄩ儴Person 闆嗗悎
*/

public List findPersonsByName(final String name)
//鍒涘緩HibernateTemplate瀹炰緥
HibernateTemplate hibernateTemplate = new HibernateTemplate(this.sessionFactory);
//榪斿洖HibernateTemplate鐨別xecute 鐨勭粨鏋?/span>
return (List) hibernateTemplate.execute (
//鍒涘緩鍖垮悕鍐呴儴綾?/span>
new HibernateCallback ()
public Object doInHibernate (Session session)
throws Hibernate Exception
{
//浣跨敤鏉′歡鏌ヨ鐨勬柟娉曡繑鍥?/span>
List result = session.createCriteria(Person.class)
.add(Restrictions.like(
"name", name+ " %") .list ( ) ;
return result;
}
 ) :
}

}

娉ㄦ剰錛?/span>鍦ㄦ柟娉昫oInHibernate鍐呭彲浠ヨ闂埌Session錛岃session鏄畬鍏ㄧ粦瀹氬埌褰撳墠綰跨▼鐨凷ession瀹炰緥錛屼繚璇佸湪瀵逛簬澶嶆潅鐨勬寔涔呭眰璁塊棶鏃訛紝渚濈劧鍙互浣跨敤Hibernate鐨勮闂柟寮忋?

junly 2009-11-03 17:20 鍙戣〃璇勮
]]>
hibernate鍩虹-HQLhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300936.htmljunlyjunlyTue, 03 Nov 2009 09:14:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300936.htmlhttp://www.tkk7.com/ywj-316/comments/300936.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300936.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300936.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300936.html闃呰鍏ㄦ枃

junly 2009-11-03 17:14 鍙戣〃璇勮
]]>
hiberante鍩哄嚭-緙撳瓨http://www.tkk7.com/ywj-316/archive/2009/11/03/300934.htmljunlyjunlyTue, 03 Nov 2009 08:49:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300934.htmlhttp://www.tkk7.com/ywj-316/comments/300934.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300934.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300934.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300934.html涓綰х紦瀛?br />
  * 涓綰х紦瀛樻槸緙撳瓨瀹炰綋瀵硅薄鐨?br />   * 濡傛灉綆$悊涓綰х紦瀛?br />     涓綰х紦瀛樻棤娉曞彇娑堬紝浣嗗彲浠ョ鐞哻lear(),evict()
  * 涓綰х紦瀛樺拰session鐨勭敓鍛藉懆鏈熶竴鑷達紝涓綰х紦瀛樹篃鍙玸ession綰х殑緙撳瓨鎴栦簨鍔$駭緙撳瓨
  * 濡備綍閬垮厤涓嬈℃уぇ閲忕殑瀹炰綋鏁版嵁鍏ュ簱瀵艱嚦鍐呭瓨婧㈠嚭
    鍏坒lush,鍐峜lear
  * 濡備綍綆$悊涓綰х紦瀛?br />     load,get,iterate,save閮芥敮鎸佷竴綰х紦瀛?br /> 濡傛灉鏁版嵁閲忕壒鍒ぇ錛岃冭檻閲囩敤jdbc瀹炵幇錛屽鏌dbc涔熶笉鑳芥弧瓚寵姹傚彲浠ヨ冭檻閲囩敤鏁版嵁鏈韓鐨勭壒瀹氬鍏ュ伐鍏?
Student student=(Student)session.load(Student.class,1);
System.out.println(
"studnet.name="+student.getName());
//涓嶄細鍙戝嚭sql錛屽洜涓簂oad浣跨敤緙撳瓨
Student student=(Student)session.load(Student.class,1);
System.out.println(
"studnet.name="+student.getName());

浜岀駭緙撳瓨

  * 浜岀駭緙撳瓨鏄紦瀛樺疄浣撳璞$殑錛屾櫘閫氬睘鎬т笉浼氱紦瀛?br />   * 浜岀駭緙撳瓨鏄繘紼嬬駭鐨勭紦瀛?涔熺О涓篠essionFactory綰х殑緙撳瓨,鍙互琚墍鏈夌殑session鍏變韓
    浜岀駭緙撳瓨鐨勭敓鍛藉懆鏈熷拰SessionFactory鏄竴鑷寸殑錛屽彲浠ョ敤SessionFactory綆$悊浜岀駭緙撳瓨
  * 浜岀駭緙撳瓨鐨勯厤緗拰浣跨敤
    1 鍔犲叆ehcache鐨刯ar鍖?
    2 鎷瘋礉ehcache.xml鏂囦歡鍒皊rc鐩綍涓?
    3 寮鍚簩綰х紦瀛橈紝榛樿鏄墦寮鐨勩傞厤緗甴ibernate.cfg.xml
    hibernate.cfg.xml鏂囦歡
    寮鍚簩綰х紦瀛?
<property name="hibernate.cache.use_second_level_cache">true</property>
    鎸囧畾緙撳瓨浜у搧鎻愪緵鍟?br />
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
    4 鎸囧畾閭d簺瀵硅薄浣跨敤浜岀駭緙撳瓨(涓ょ鏂硅繍娌?
      * 鍦ㄦ槧灝勬枃浠朵腑閲囩敤<cache>鏍囩
 
<class name="com.my.hibernate.User" table="t_user">
        
<cache usage="read-only"/>
     
<id name="id">
      
<generator class="native"/>
     
</id>
     
<property name="name"/>
     
<many-to-one name="group" column="groupid" cascade="save-update"/>
    
</class>
    * 鍦╤ibernate.cfg.xml鏂囦歡涓紝閲囩敤<class-cache/>鏍囩
<class-cache class="com.bjsxt.hibernate.Studnet" usage="read-only"/>

綆$悊浜岀駭緙撳瓨

factory.evict(Student.class);
factory.evict(Student.class,1);

涓綰х紦瀛樺拰浜岀駭緙撳瓨鐨勪氦浜掗棶棰?br />    1 涓嶈緗?榛樿)浼氬啓鍏ヤ簩綰х紦瀛橈紝涔熶細璇誨嚭
   2 GET鍙鑰屼笉鍐欏叆浜岀駭緙撳瓨

   session.setCacheMode(CacheMode.GET);
   Student student
=(Student)session.load(Student.class,1);

   3 PUT鍙啓鍏ヤ簩綰х紦瀛橀〉涓嶈鍙?/p>

   session.setCacheMode(CacheMode.PUT);
   Student student
=(Student)session.load(Student.class,1);


鏌ヨ緙撳瓨

鏌ヨ緙撳瓨鏄拡瀵規櫘閫氬睘鎬х粨鏋滈泦鐨勭紦瀛?br /> 瀵瑰疄浣撳璞$殑緇撴灉鍙紦瀛榠d

鏌ヨ緙撳瓨鐨勭敓鍛藉懆鏈燂紝褰撳墠鍏寵仈鐨勮〃鍙戠敓淇敼錛岄偅涔堟煡璇㈢紦瀛樼敓鍛藉懆鏈熺粨鏉?/p>

鏌ヨ緙撳瓨鐨勯厤緗拰浣跨敤
1 璧風敤鏌ヨ緙撳瓨
  * 閰嶇疆hibernate.cfg.xml鏂囦歡

<property name="hibernate.cache.use_second_level_cache">true</property>

  * 鍦ㄧ▼搴忎腑鏄懼紡璧風敤

query.setCacheable(true);

2 Session鍜屾煡璇㈢紦瀛樼敓鍛藉懆鏈熸病鏈夊叧緋?br /> 3 鏌ヨ緙撳瓨瀵筿uery.iterate()涓嶈搗浣滅敤錛屽彧鐢ㄥquery.list()璧蜂綔鐢?br />



junly 2009-11-03 16:49 鍙戣〃璇勮
]]>
hibernate鍩虹-鎮茶[涔愯]閿?/title><link>http://www.tkk7.com/ywj-316/archive/2009/11/03/300931.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Tue, 03 Nov 2009 08:40:00 GMT</pubDate><guid>http://www.tkk7.com/ywj-316/archive/2009/11/03/300931.html</guid><wfw:comment>http://www.tkk7.com/ywj-316/comments/300931.html</wfw:comment><comments>http://www.tkk7.com/ywj-316/archive/2009/11/03/300931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ywj-316/comments/commentRss/300931.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ywj-316/services/trackbacks/300931.html</trackback:ping><description><![CDATA[<p>鎮茶閿?/p> <p>鎮茶閿佺殑瀹炵幇錛岄氬父渚濊禆浜庢暟鎹簱鏈哄埗錛屽湪鏁翠釜榪囩▼涓皢鏁版嵁閿佸畾錛屽叾瀹冧換浣曠敤鎴烽兘涓嶈兘璇誨彇鎴栦慨鏀?br /> session.load(Inventory.class, 1, LockMode.UPGRADE);</p> <p>涔愯閿?/p> <p>澶у鏁板熀浜庢暟鎹増鏈褰曟満鍒?version)瀹炵幇錛屼竴鑸槸鍦ㄦ暟鎹簱琛ㄤ腑鍔犲叆涓涓獀ersion瀛楁<br /> 璇誨彇鏁版嵁鏃跺皢鐗堟湰鍙蜂竴鍚岃鍑猴紝涔嬪悗鏇存柊鏁版嵁鏃剁増鏈彿鍔犱竴錛屽鏋滄彁浜ゆ暟鎹椂鐗囨湰鍙峰皬浜?br /> 鎴栫瓑浜庢暟鎹簱琛ㄤ腑鐨勭増鏈彿錛屽垯璁や負鏁版嵁鏄繃鏈熺殑錛屽惁鍒欑粰浜堟洿鏂般?br /> </p> 1 Inventory.java:<br />   <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> id;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> String name;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> count;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> version;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">version鐗堟湰鍙風敱鏁版嵁搴撶淮鎶わ紝鎴戜滑涓嶇敤綆?/span></div> 2 Inventory.hbm.xml <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff"><</span><span style="color: #800000">class </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="Inventory"</span><span style="color: #ff0000"> table</span><span style="color: #0000ff">="t_inventory2"</span><span style="color: #ff0000"> optimistic-lock</span><span style="color: #0000ff">="version"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">id </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="id"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />            </span><span style="color: #0000ff"><</span><span style="color: #800000">generator </span><span style="color: #ff0000">class</span><span style="color: #0000ff">="native"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"></</span><span style="color: #800000">id</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="name"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="count"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="version"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">class</span><span style="color: #0000ff">></span></div> <img src ="http://www.tkk7.com/ywj-316/aggbug/300931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ywj-316/" target="_blank">junly</a> 2009-11-03 16:40 <a href="http://www.tkk7.com/ywj-316/archive/2009/11/03/300931.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hibernate鍩虹-Session_Flushhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300930.htmljunlyjunlyTue, 03 Nov 2009 08:37:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300930.htmlhttp://www.tkk7.com/ywj-316/comments/300930.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300930.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300930.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300930.htmlsession flush嫻嬭瘯錛?/p>

session flush鏂規硶涓昏鍋氫簡涓や歡浜嬶細
1 娓呯悊緙撳瓨
2 鎵цsql(涓嶆槸鎻愪氦浜嬪姟)

session鍦ㄤ粈涔堟儏鍐典笅鎵цflush
1 榛樿鍦ㄤ簨鍔℃彁浜ゆ椂
2 鏄懼紡鐨勮皟鐢╢lush
3 鍦ㄦ墽琛屾煡璇㈠墠錛屽錛歩terate

hibernate鎸夌収save(insert),update,delete欏哄簭鎻愪氦鐩稿叧鐨勬搷浣?br /> ------------------------------------------------------------------------

  <id name="id">
   <generator class="uuid"/>
  </id>
  鍥犱負id鐨勪富閿敓鎴愮瓥鐣ラ噰鐢ㄧ殑鏄痷uid,鎵浠ヨ皟鐢ㄥ畬save鍚庯紝鍙槸灝唘ser瀵硅薄綰沖叆鍒皊ession鐨勭鐞?br />   涓嶄細鍙戝嚭insert璇彞錛屼絾鏄痠d宸茬粡鐢熸垚錛宻ession涓璭xistsInDatebase鐘舵佷負false
  session.save(user);
  璋冪敤flush,hibernate浼氭竻鐞嗙紦瀛橈紝鎵цsql
  濡傛灉鏁版嵁搴撶殑闅旂綰у埆涓烘彁浜よ錛岄偅涔堟垜浠彲浠ョ湅鍒癴lush榪囩殑鏁版嵁
  騫朵笖session涓璭xistsInDatebase鐘舵佸彉涓簍rue
  session.flush();
  榛樿鎯呭喌涓媍ommit鎿嶄綔浼氬厛鎵ц鑰協lush娓呯悊緙撳瓨錛屾墍浠ヤ笉鐢ㄦ樉寮忕殑璋冪敤flush
  commit鍚庢暟鎹棤娉曞洖婊?br />   session.getTransaction().commit();
  
  <id name="id">
   <generator class="native"/>
  </id>
  濡傛灉id鐨勪富閿敓鎴愮瓥鐣ラ噰鐢ㄧ殑鏄痭ative,璋冪敤save(user)鏃朵細鍙戝嚭insert璇彞錛岃繑鍥炵敱鏁版嵁搴撶敓鎴愮殑id,
  user瀵硅薄綰沖叆鍒皊ession鐨勭鐞?session涓璭xistsInDatebase鐘舵佷負true
-----------------------------------------------------------------
  <id name="id">
   <generator class="uuid"/>
  </id>
  session.save(user);
  灝唘ser瀵硅薄浠巗ession涓愬嚭,鍗硈ession鐨凟ntiryEntries灞炴т腑閫愬嚭
  session.evict(user);//娓呯悊緙撳瓨
  鏃犳硶鎴愬姛鎻愪氦錛屽洜涓篽ibernate鍦ㄦ竻鐞嗙紦瀛樻椂錛屽湪session鐨刬nsertions闆嗗悎涓彇鍑簎ser瀵硅薄榪涜insert鎿嶄綔鍚?br />   闇瑕佹洿鏂癳ntityEntries灞炴т腑鐨別xistsnDatabase涓簍rue,鑰屾垜浠噰鐢╡vict宸茬粡灝唘ser浠巗ession涓?br />   閫愬嚭浜?鎵浠ユ壘涓嶅埌鐩稿叧鏁版嵁,鏃犳硶鏇存柊,鎶涘嚭寮傚父
  session.getTransaction().commit();
----------------------------------------------------------------
  <id name="id">
   <generator class="uuid"/>
  </id>
  session.save(user);
  flush鍚巋ibernate浼氭竻鐞嗙紦瀛?浼氬皢user瀵硅薄淇濆瓨鍒版暟鎹簱涓?灝唖ession涓殑insertions涓殑user
  娓呴櫎,騫朵笖璁劇疆session涓璭xistsInDatabase鐨勭姸鎬佷負true
  session.flush(user);
  灝唘ser瀵硅薄浠巗ession涓愬嚭,鍗硈ession鐨凟ntityEntries灞炴т腑閫愬嚭
  session.evict(user);//娓呯悊緙撳瓨
  鍙互鎴愬姛鎻愪氦錛屽洜涓篽ibernate鍦ㄦ竻鐞嗙紦瀛樻椂錛屽湪session鐨刬nsertions闆嗗悎涓棤娉曟壘鍒皍ser瀵硅薄
  鎵浠ュ氨涓嶄細鍙戝嚭insert璇彞,涔熶笉浼氭洿鏂皊ession涓殑existsInDatabase鐨勭姸鎬?br />   session.getTransaction().commit();
-----------------------------------------------------------------
  <id name="id">
   <generator class="native"/>
  </id>
  session.save(user);
  灝唘ser瀵硅薄浠巗ession涓愬嚭,鍗硈ession鐨凟ntityEntries灞炴т腑閫愬嚭
  session.evict(user);//娓呯悊緙撳瓨
  鍙互鎴愬姛鎻愪氦錛屽洜涓篽ibernate鍦ㄦ竻鐞嗙紦瀛樻椂錛屽湪session鐨刬nsertions闆嗗悎涓棤娉曟壘鍒皍ser瀵硅薄
  鎵浠ュ氨涓嶄細鍙戝嚭insert璇彞,涔熶笉浼氭洿鏂皊ession涓殑existsInDatabase鐨勭姸鎬?br />   session.getTransaction().commit();
-----------------------------------------------------------------
    <id name="id">
   <generator class="assigned"/>
  </id>
  session.save(user);
  user.setName("寮犱笁");
  session.update(user);
  User user2=new User();
  user2.setId("003");
  user2.setName("鏉庡洓");
  session.getTransaction().commit();
  緇撴灉:
  insert into ...
  insert into ...
  update t_user ...
  hibernate鎸夌収save(insert),update,delete欏哄簭鎻愪氦鐩稿叧鐨勬搷浣?br /> -----------------------------------------------------------------
   <id name="id">
   <generator class="assigned"/>
  </id>
  session.save(user);
  user.setName("寮犱笁");
  session.update(user);
  鍥犱負鎴戜滑鍦╯ession.update(user)鍚庢墽琛屼簡flush,鎵浠ュ湪浠ommit娓呯悊緙撳瓨鏃舵墽琛宖lush鍓嶇殑sql灝變笉浼氬彂鍑?
  session.flush();//鍦ㄨ繖閲宖lush鎿嶄綔灝卞彲浠ヤ簡
  
  User user2=new User();
  user2.setId("003");
  user2.setName("鏉庡洓");
  session.getTransaction().commit();
  緇撴灉:
  insert into ...
  update t_user ...
  insert into ...
  鎸夌収鎴戜滑鎯寵欏哄簭save(insert),update,save(insert)鐨勯『搴忔彁浜ゆ搷浣?br /> -----------------------------------------------------------------



junly 2009-11-03 16:37 鍙戣〃璇勮
]]>
hibernate鍩虹-fetch鎶撳彇http://www.tkk7.com/ywj-316/archive/2009/11/03/300929.htmljunlyjunlyTue, 03 Nov 2009 08:34:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300929.htmlhttp://www.tkk7.com/ywj-316/comments/300929.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300929.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300929.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300929.html鎶撳彇絳栫暐(鍗曠浠g悊鐨勬壒閲忔姄鍙?
1 淇濇寔榛樿,涔熷氨鏄痜etch="select"
  <many-to-one name="classes" column="classesid" cascade="save-update"/>
  fetch="select",鍙﹀鍙戦佷竴鏉elect璇彞鎶撳彇褰撳墠瀵硅薄鍏寵仈瀹炰綋鎴栭泦鍚?br /> 2 璁劇疆fetch="jion"
  <many-to-one name="classes" column="classesid" cascade="save-update" fetch="join"/>
  fetch="jion",hibernate浼氶氳繃select璇彞浼氫嬌鐢ㄥ鑱旀帴鏉ュ姞杞藉叾鍏寵仈瀹炰綋鎴栭泦鍚?姝ゆ椂lazy浼氬け鏁?br /> ------------------------------------------------------------
鎶撳彇絳栫暐(闆嗗悎浠g悊鐨勬壒閲忔姄鍙?
1 淇濇寔榛樿,涔熷氨鏄痜etch="select"
  <set name="students" fetch="select">
  fetch="select",鍙﹀鍙戦佷竴鏉elect璇彞鎶撳彇褰撳墠瀵硅薄鍏寵仈瀹炰綋鎴栭泦鍚?br /> 2 璁劇疆fetch="jion"
  <set name="students" fetch="jion">
  fetch="jion",hibernate浼氶氳繃select璇彞浼氫嬌鐢ㄥ鑱旀帴鏉ュ姞杞藉叾鍏寵仈瀹炰綋鎴栭泦鍚?姝ゆ椂lazy浼氬け鏁?br /> 3 璁劇疆fetch="subselect"
  <set name="students" fetch="subselect">
  fetch="subselect",鐢ㄤ簬createQuery()鏌ヨ,鍙﹀鍙戦佷竴鏉elect璇彞鎶撳彇鍦ㄥ墠闈㈡煡璇㈠埌鐨勬墍鏈夊疄浣撳璞$殑鍏寵仈闆嗗悎
----------------------------------------------------------------
鎶撳彇絳栫暐,batch-size鍦?lt;class>涓婄殑搴旂敤

batch-size灞炴?鍙兘鎵歸噺鍔犺澆浣撶被,鍙傝:Classes.hbm.xml
<class name="Classes" table="t_classes" batch-size="3">

鍦╤ibernate.cfg.xml涓緗?br /> <property name="hibernate.jdbc.fetch_size">50</property>



junly 2009-11-03 16:34 鍙戣〃璇勮
]]>
hibernate鍩虹-lazy絳栫暐http://www.tkk7.com/ywj-316/archive/2009/11/03/300928.htmljunlyjunlyTue, 03 Nov 2009 08:33:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300928.htmlhttp://www.tkk7.com/ywj-316/comments/300928.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300928.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300928.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300928.html闃呰鍏ㄦ枃

junly 2009-11-03 16:33 鍙戣〃璇勮
]]>
hibernate鍩虹-Component+[鑱斿悎]鏄犺薄http://www.tkk7.com/ywj-316/archive/2009/11/03/300921.htmljunlyjunlyTue, 03 Nov 2009 08:22:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300921.htmlhttp://www.tkk7.com/ywj-316/comments/300921.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300921.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300921.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300921.htmlComponent鏄犲皠(鍊煎璞℃槧灝?

鍦╤ibernate涓?component鏄煇涓疄浣撶殑閫昏緫緇勬垚閮ㄥ垎錛屽畠涓庡疄浣撶殑鏍規湰鍖哄埆鏄病鏈塷id錛?br /> component鍙互縐頒負鏄煎璞★紙DDD錛?/p>

閲囩敤component鏄犲皠鐨勫ソ澶勶細瀹冨疄鐜頒簡瀵硅薄妯″瀷鐨勭粏綺掑害鍒掑垎錛屽眰嬈′細鏇村垎鏄庯紝澶嶇敤鐜囦細鏇撮珮

<!--
  User錛?nbsp;                            Comtact錛?br />   private int id;                    private String email;
    private String name;         private String address;
    private Comtact comtact;     private String phone;
-->
<class name="User" table="t_user">
        
<id name="id">
            
<generator class="native"/>
        
</id>
        
<property name="name"/>
        
<component name="comtact">
            
<property name="email"/>
            
<property name="address"/>
            
<property name="phone"/>
        
</component>
</class>

澶嶅悎錛堣仈鍚堬級涓婚敭鏄犲皠

閫氬父灝嗗鍚堜富閿浉鍏崇殑灞炴э紝鍗曠嫭鏀懼埌涓涓被涓?br />  * 姝ょ被蹇呴』瀹炵幇搴忓垪鍖栨帴鍙?br />  * 瑕嗗啓hashcode鍜宔quals鏂規硶

<class name="com.bjsxt.hibernate.FiscalYearPeriod" table="t_fiscal_year_period">
        
<composite-id name="fiscalYearPeriodPK">
            
<key-property name="fiscalYear"/>
            
<key-property name="fiscalPeriod"/>    
        
</composite-id>
        
<property name="beginDate"/>
        
<property name="endDate"/>
        
<property name="periodSts"/>
    
</class>

public class FiscalYearPeriodPK implements Serializable {
    
//鏍哥畻騫?/span>
    private int fiscalYear;
    
//鏍哥畻鏈?/span>
    private int fiscalPeriod;
    
public int getFiscalYear() {
        
return fiscalYear;
    }

    
public void setFiscalYear(int fiscalYear) {
        
this.fiscalYear = fiscalYear;
    }

    
public int getFiscalPeriod() {
        
return fiscalPeriod;
    }

    
public void setFiscalPeriod(int fiscalPeriod) {
        
this.fiscalPeriod = fiscalPeriod;
    }


    @Override
    
public int hashCode() {
        
final int prime = 31;
        
int result = 1;
        result 
= prime * result + fiscalPeriod;
        result 
= prime * result + fiscalYear;
        
return result;
    }


    @Override
    
public boolean equals(Object obj) {
        
if (this == obj)
            
return true;
        
if (obj == null)
            
return false;
        
if (getClass() != obj.getClass())
            
return false;
        
final FiscalYearPeriodPK other = (FiscalYearPeriodPK) obj;
        
if (fiscalPeriod != other.fiscalPeriod)
            
return false;
        
if (fiscalYear != other.fiscalYear)
            
return false;
        
return true;
    }

}


public class FiscalYearPeriod {
    
private FiscalYearPeriodPK fiscalYearPeriodPK;
    
//寮濮嬫棩鏈?/span>
    private Date beginDate;
    
//緇撴潫鏃ユ湡
    private Date endDate;
    
//鐘舵?/span>
    private String periodSts;
}


junly 2009-11-03 16:22 鍙戣〃璇勮
]]>
hibernate鍩虹-鑷叧鑱旀槧灝?/title><link>http://www.tkk7.com/ywj-316/archive/2009/11/03/300920.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Tue, 03 Nov 2009 08:19:00 GMT</pubDate><guid>http://www.tkk7.com/ywj-316/archive/2009/11/03/300920.html</guid><wfw:comment>http://www.tkk7.com/ywj-316/comments/300920.html</wfw:comment><comments>http://www.tkk7.com/ywj-316/archive/2009/11/03/300920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ywj-316/comments/commentRss/300920.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ywj-316/services/trackbacks/300920.html</trackback:ping><description><![CDATA[1 class Node:<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> id;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> String name;<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> Node parent;</span><span style="color: #008000">//</span><span style="color: #008000">浜よ妭鐐?/span><span style="color: #008000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> Set children;</span><span style="color: #008000">//</span><span style="color: #008000">瀛愯妭鐐?/span></div> 2 Node.hbm.xml: <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff"><</span><span style="color: #800000">class </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="node"</span><span style="color: #ff0000"> class</span><span style="color: #0000ff">="com.my.hibernate.Node"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">id </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="id"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />                </span><span style="color: #0000ff"><</span><span style="color: #800000">generator </span><span style="color: #ff0000">class</span><span style="color: #0000ff">="native"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"></</span><span style="color: #800000">id</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="name"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">many-to-one </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="parent"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="pid"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">set </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="children"</span><span style="color: #ff0000"> lazy</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000"> inverse</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000">  cascade</span><span style="color: #0000ff">="all"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />                </span><span style="color: #0000ff"><</span><span style="color: #800000">key </span><span style="color: #ff0000">column</span><span style="color: #0000ff">="pid"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />                </span><span style="color: #0000ff"><</span><span style="color: #800000">one-to-many </span><span style="color: #ff0000">class</span><span style="color: #0000ff">="com.my.hibernate.Node"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"></</span><span style="color: #800000">set</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"></</span><span style="color: #800000">class</span><span style="color: #0000ff">></span></div> <img src ="http://www.tkk7.com/ywj-316/aggbug/300920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ywj-316/" target="_blank">junly</a> 2009-11-03 16:19 <a href="http://www.tkk7.com/ywj-316/archive/2009/11/03/300920.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hibernate鍩虹-鍏朵粬鏄犲皠http://www.tkk7.com/ywj-316/archive/2009/11/03/300919.htmljunlyjunlyTue, 03 Nov 2009 08:17:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300919.htmlhttp://www.tkk7.com/ywj-316/comments/300919.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300919.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300919.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300919.htmlset銆乴ist銆乤rray銆乵ap

Collection:
 private int id;
 private String name;
 private Set setValue;
 private List listValue;
 private String[] arrayValue;
 private Map mapValue;
<class name="Collection">
        
<id name="id">
            
<generator class="native"/>
        
</id>
        
<property name="name"/>
        
<set name="setValue" table="t_setvalue">
            
<key column="setid"/>
            
<element type="string" column="setvalue"/>
        
</set>
        
<list name="listValue" table="t_listvalue">
            
<key column="listid"/>
            
<list-index column="listindex"/>
            
<element type="string" column="listvalue"/>
        
</list>
        
<array name="arrayValue" table="t_arrayvalue">
            
<key column="arrayid"/>
            
<list-index column="arrayindex"/>
            
<element type="string" column="arrayvalue"/>
        
</array>
        
<map name="mapValue" table="t_mapvalue">
            
<key column="mapid"/>
            
<map-key type="string" column="mapkey"/>
            
<element type="string" column="mapvalue"/>
        
</map>
    
</class>


junly 2009-11-03 16:17 鍙戣〃璇勮
]]>
hiberante鍩虹-緇ф壙鏄犲皠http://www.tkk7.com/ywj-316/archive/2009/11/03/300918.htmljunlyjunlyTue, 03 Nov 2009 08:15:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300918.htmlhttp://www.tkk7.com/ywj-316/comments/300918.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300918.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300918.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300918.html闃呰鍏ㄦ枃

junly 2009-11-03 16:15 鍙戣〃璇勮
]]>
hibernate鍩虹-鏄犲皠鍏崇郴(涓瀵瑰I澶氬澶?.http://www.tkk7.com/ywj-316/archive/2009/11/03/300913.htmljunlyjunlyTue, 03 Nov 2009 08:04:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300913.htmlhttp://www.tkk7.com/ywj-316/comments/300913.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300913.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300913.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300913.html闃呰鍏ㄦ枃

junly 2009-11-03 16:04 鍙戣〃璇勮
]]>
hibernate鍩虹-鏄犲皠鍏崇郴(澶氬涓I涓瀵逛竴)http://www.tkk7.com/ywj-316/archive/2009/11/03/300911.htmljunlyjunlyTue, 03 Nov 2009 07:53:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300911.htmlhttp://www.tkk7.com/ywj-316/comments/300911.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300911.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300911.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300911.html闃呰鍏ㄦ枃

junly 2009-11-03 15:53 鍙戣〃璇勮
]]>
hibernate鍩虹-鍩烘湰鏄犺阿鏍囩鍜屽睘鎬?/title><link>http://www.tkk7.com/ywj-316/archive/2009/11/03/300908.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Tue, 03 Nov 2009 07:35:00 GMT</pubDate><guid>http://www.tkk7.com/ywj-316/archive/2009/11/03/300908.html</guid><wfw:comment>http://www.tkk7.com/ywj-316/comments/300908.html</wfw:comment><comments>http://www.tkk7.com/ywj-316/archive/2009/11/03/300908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ywj-316/comments/commentRss/300908.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ywj-316/services/trackbacks/300908.html</trackback:ping><description><![CDATA[hibernate鍩烘湰鏄犲皠<br /> 瀹炰綋綾?----->琛?br /> 瀹炰綋綾葷殑璁捐鍘熷垯錛?br />   * 瀹炵幇涓涓粯璁?鏃犲弬)鐨勬瀯閫犳柟娉?constructor)<br />   * 鎻愪緵涓涓爣璇嗗睘鎬?identifier property)<br />   * 浣跨敤闈瀎inal鐨勭被<br />   * 涓烘寔涔呭寲瀛楁澹版槑璁塊棶鍣?accessors),鍗砱et/set鏂規硶<br /> 瀹炰綋綾諱腑鐨勬櫘閫氬睘鎬?---->琛ㄥ瓧孌?br /> 閲囩敤<class>鏍囩鏄犲皠鎴愭暟鎹簱琛紝閫氳繃<property>鏍囩灝嗘櫘閫氬睘鎬ф槧灝勬垚琛ㄥ瓧孌?br /> 鎵璋撴櫘閫氬睘鎬т笉鍖呮嫭鑷畾涔夌被銆侀泦鍚堝拰鏁扮粍<br /> 娉ㄦ剰錛氳〃鎴栧瓧孌典笌sql鍏抽敭瀛椾竴鏍鳳紝蹇呴』閲嶅悕縐?br /> <hibernate-mapping/>鏍囩<br /> <hibernate-mapping<br />          schema="schemaName"                                    (1)<br />          catalog="catalogName"                                     (2)<br />          default-cascade="cascade_style"                       (3)<br />          default-access="field|property|ClassName"        (4)<br />          default-lazy="true|false"                                     (5)<br />          *auto-import="true|false"                                  (6)<br />          *package="package.name"                               (7)<br />  /><br /> (6) auto-import (鍙?- 榛樿涓?true): 鎸囧畾鎴戜滑鏄惁鍙互鍦ㄦ煡璇㈣璦涓嬌鐢ㄩ潪鍏ㄩ檺瀹氱殑綾誨悕錛堜粎闄愪簬鏈槧灝勬枃浠朵腑鐨勭被錛夈?<br /> (7) package (鍙?: 鎸囧畾涓涓寘鍓嶇紑錛屽鏋滃湪鏄犲皠鏂囨。涓病鏈夋寚瀹氬叏闄愬畾鐨勭被鍚嶏紝 灝變嬌鐢ㄨ繖涓綔涓哄寘鍚嶃? <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff"><</span><span style="color: #800000">hibernate-mapping </span><span style="color: #ff0000">package</span><span style="color: #0000ff">="com.my.hibernate"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">class </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="User"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">id </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="id"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />            </span><span style="color: #0000ff"><</span><span style="color: #800000">generator </span><span style="color: #ff0000">class</span><span style="color: #0000ff">="uuid"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"></</span><span style="color: #800000">id</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="name"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="password"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="createTime"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="expireTime"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">class</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff"></</span><span style="color: #800000">hibernate-mapping</span><span style="color: #0000ff">></span></div> <div title="Print Page Break" style="font-size: 1px; page-break-before: always; vertical-align: middle; width: 1003px; height: 35px; background-color: #c0c0c0">  </div> <class/>鏍囩--琛?br /> <class<br />         *name="ClassName"                              (1)<br />         *table="tableName"                             (2)<br />         *discriminator-value="discriminator_value"     (3)<br />          mutable="true|false"                          (4)<br />          schema="owner"                                (5)<br />          catalog="catalog"                             (6)<br />          proxy="ProxyInterface"                        (7)<br />         *dynamic-update="true|false"                   (8)<br />         *dynamic-insert="true|false"                   (9)<br />          select-before-update="true|false"             (10)<br />          polymorphism="implicit|explicit"              (11)<br />          where="arbitrary sql where condition"         (12)<br />          persister="PersisterClass"                    (13)<br />         *batch-size="N"                                (14)<br />         *optimistic-lock="none|version|dirty|all"      (15)<br />         *lazy="true|false"                             (16)<br />          entity-name="EntityName"                      (17)<br />          check="arbitrary sql check condition"         (18)<br />          rowid="rowid"                                 (19)<br />          subselect="SQL expression"                    (20)<br />         *abstract="true|false"                         (21)<br />          node="element-name"<br /> /><br /> (1) name (鍙?: 鎸佷箙鍖栫被錛堟垨鑰呮帴鍙o級鐨凧ava鍏ㄩ檺瀹氬悕銆?濡傛灉榪欎釜灞炴т笉瀛樺湪錛孒ibernate灝嗗亣瀹氳繖鏄竴涓潪POJO鐨勫疄浣撴槧灝勩?<br /> (2) table (鍙?- 榛樿鏄被鐨勯潪鍏ㄩ檺瀹氬悕): 瀵瑰簲鐨勬暟鎹簱琛ㄥ悕銆?<br /> (3) discriminator-value (鍙?- 榛樿鍜岀被鍚嶄竴鏍?: 涓涓敤浜庡尯鍒嗕笉鍚岀殑瀛愮被鐨勫鹼紝鍦ㄥ鎬佽涓烘椂浣跨敤銆傚畠鍙互鎺ュ彈鐨勫煎寘鎷?null 鍜?not null銆?<br /> (8) dynamic-update (鍙? 榛樿涓?false): 鎸囧畾鐢ㄤ簬UPDATE 鐨凷QL灝嗕細鍦ㄨ繍琛屾椂鍔ㄦ佺敓鎴愶紝騫朵笖鍙洿鏂伴偅浜涙敼鍙樿繃鐨勫瓧孌點?<br /> (9) dynamic-insert (鍙? 榛樿涓?false): 鎸囧畾鐢ㄤ簬INSERT鐨?SQL 灝嗕細鍦ㄨ繍琛屾椂鍔ㄦ佺敓鎴愶紝騫朵笖鍙寘鍚偅浜涢潪絀哄煎瓧孌點?<br /> (14) batch-size (鍙?榛樿鏄?) 鎸囧畾涓涓敤浜?鏍規嵁鏍囪瘑絎︼紙identifier錛夋姄鍙栧疄渚嬫椂浣跨敤鐨?batch size"錛堟壒嬈℃姄鍙栨暟閲忥級銆?<br /> (15) optimistic-lock錛堜箰瑙傞攣瀹氾級 (鍙夛紝榛樿鏄痸ersion): 鍐沖畾涔愯閿佸畾鐨勭瓥鐣ャ?<br /> (16) lazy (鍙?: 閫氳繃璁劇疆lazy="false"錛?鎵鏈夌殑寤惰繜鍔犺澆錛圠azy fetching錛夊姛鑳藉皢琚叏閮ㄧ鐢紙disabled錛夈?<br /> (21) abstract (鍙?: 鐢ㄤ簬鍦?lt;union-subclass>鐨勭戶鎵跨粨鏋?錛坔ierarchies錛変腑鏍囪瘑鎶借薄瓚呯被銆? <div title="Print Page Break" style="font-size: 1px; page-break-before: always; vertical-align: middle; width: 1003px; height: 35px; background-color: #c0c0c0">  </div> <p><id/>鏍囩 -涓婚敭<br /> 涓婚敭鐢熸垚絳栫暐錛?br /> uuid  native 鍜宎ssigned<br /> <id<br />         *name="propertyName"                                          (1)<br />         type="typename"                                              (2)<br />         *column="column_name"                                         (3)<br />         unsaved-value="null|any|none|undefined|id_value"             (4)<br />         access="field|property|ClassName"                            (5)<br />         node="element-name|@attribute-name|element/@attribute|."><br />         *length                                                       (6)</p> <p>        <generator class="generatorClass"/><br /> </id><br /> (1) name (鍙?: 鏍囪瘑灞炴х殑鍚嶅瓧銆?<br /> (2) type (鍙?: 鏍囪瘑Hibernate綾誨瀷鐨勫悕瀛椼?<br /> (3) column (鍙?- 榛樿涓哄睘鎬у悕): 涓婚敭瀛楁鐨勫悕瀛椼?<br /> (4) unsaved-value (鍙?- 榛樿涓轟竴涓垏鍚堝疄闄咃紙sensible錛夌殑鍊?: 涓涓壒瀹氱殑鏍囪瘑灞炴у鹼紝鐢ㄦ潵鏍囧織璇ュ疄渚嬫槸鍒氬垰鍒涘緩鐨勶紝灝氭湭淇濆瓨銆?榪欏彲浠ユ妸榪欑瀹炰緥鍜屼粠浠ュ墠鐨剆ession涓杞借繃錛堝彲鑳藉張鍋氳繃淇敼--璇戣呮敞錛?浣嗘湭鍐嶆鎸佷箙鍖栫殑瀹炰緥鍖哄垎寮鏉ャ?<br /> (5) access (鍙?- 榛樿涓簆roperty): Hibernate鐢ㄦ潵璁塊棶灞炴у肩殑絳栫暐銆?<br /> (6) 闀垮害.</p> <div title="Print Page Break" style="font-size: 1px; page-break-before: always; vertical-align: middle; width: 1003px; height: 35px; background-color: #c0c0c0">  </div> <generator/>鐢熸垚鍞竴鐨勬爣璇?br /> <id name="id" type="long" column="cat_id"><br />         <generator class="uuid"><br />         </generator><br /> </id><br /> identity<br /> 瀵笵B2,MySQL, MS SQL Server, Sybase鍜孒ypersonicSQL鐨勫唴緗爣璇嗗瓧孌墊彁渚涙敮鎸併?榪斿洖鐨勬爣璇嗙鏄痩ong, short 鎴栬卛nt綾誨瀷鐨勩?<br /> sequence<br /> 鍦―B2,PostgreSQL, Oracle, SAP DB, McKoi涓嬌鐢ㄥ簭鍒楋紙sequence)錛?鑰屽湪Interbase涓嬌鐢ㄧ敓鎴愬櫒(generator)銆傝繑鍥炵殑鏍囪瘑絎︽槸long, short鎴栬?int綾誨瀷鐨勩?<br /> uuid<br /> 鐢ㄤ竴涓?28-bit鐨刄UID綆楁硶鐢熸垚瀛楃涓茬被鍨嬬殑鏍囪瘑絎︼紝 榪欏湪涓涓綉緇滀腑鏄敮涓鐨勶紙浣跨敤浜咺P鍦板潃錛夈俇UID琚紪鐮佷負涓涓?2浣?6榪涘埗鏁板瓧鐨勫瓧絎︿覆銆?<br /> native<br /> 鏍規嵁搴曞眰鏁版嵁搴撶殑鑳藉姏閫夋嫨identity, sequence 鎴栬卙ilo涓殑涓涓?<br /> assigned<br /> 璁╁簲鐢ㄧ▼搴忓湪save()涔嬪墠涓哄璞″垎閰嶄竴涓爣紺虹銆傝繖鏄?<generator>鍏冪礌娌℃湁鎸囧畾鏃剁殑榛樿鐢熸垚絳栫暐銆?<br /> foreign<br /> 浣跨敤鍙﹀涓涓浉鍏寵仈鐨勫璞$殑鏍囪瘑絎︺傞氬父鍜?lt;one-to-one>鑱斿悎璧鋒潵浣跨敤銆? <div title="Print Page Break" style="font-size: 1px; page-break-before: always; vertical-align: middle; width: 1003px; height: 35px; background-color: #c0c0c0">  </div> <property/>鐢熸垚瀛楁<br /> <property<br />         *name="propertyName"                                          (1)<br />         *column="column_name"                                         (2)<br />         type="typename"                                              (3)<br />         update="true|false"                                          (4)<br />         insert="true|false"                                          (4)<br />         formula="arbitrary SQL expression"                           (5)<br />         access="field|property|ClassName"                            (6)<br />         lazy="true|false"                                            (7)<br />         unique="true|false"                                          (8)<br />         not-null="true|false"                                        (9)<br />         optimistic-lock="true|false"                                 (10)<br />         generated="never|insert|always"                              (11)<br />         node="element-name|@attribute-name|element/@attribute|."<br />         index="index_name"<br />         unique_key="unique_key_id"<br />         length="L"<br />         precision="P"<br />         scale="S"<br /> /><br /> (1) name: 灞炴х殑鍚嶅瓧,浠ュ皬鍐欏瓧姣嶅紑澶淬?<br /> (2) column (鍙?- 榛樿涓哄睘鎬у悕瀛?: 瀵瑰簲鐨勬暟鎹簱瀛楁鍚嶃?涔熷彲浠ラ氳繃宓屽鐨?lt;column>鍏冪礌鎸囧畾銆?nbsp; <br /> (4) update, insert (鍙?- 榛樿涓?true) : 琛ㄦ槑鐢ㄤ簬UPDATE 鍜?鎴?INSERT 鐨凷QL璇彞涓槸鍚﹀寘鍚繖涓鏄犲皠浜嗙殑瀛楁銆傝繖浜岃呭鏋滈兘璁劇疆涓篺alse 鍒欒〃鏄庤繖鏄竴涓?#8220;澶栨簮鎬э紙derived錛?#8221;鐨勫睘鎬э紝瀹冪殑鍊兼潵婧愪簬鏄犲皠鍒板悓涓涓紙鎴栧涓級 瀛楁鐨勬煇浜涘叾浠栧睘鎬э紝鎴栬呴氳繃涓涓猼rigger(瑙﹀彂鍣級鎴栧叾浠栫▼搴忕敓鎴愩?<br /> (7) lazy (鍙?- 榛樿涓?false): 鎸囧畾 鎸囧畾瀹炰緥鍙橀噺絎竴嬈¤璁塊棶鏃訛紝榪欎釜灞炴ф槸鍚﹀歡榪熸姄鍙栵紙fetched lazily錛夛紙 闇瑕佽繍琛屾椂瀛楄妭鐮佸寮猴級銆?<br /> (8) unique (鍙?: 浣跨敤DDL涓鴻瀛楁娣誨姞鍞竴鐨勭害鏉熴?鍚屾牱錛屽厑璁稿畠浣滀負property-ref寮曠敤鐨勭洰鏍囥?<br /> (9) not-null (鍙?: 浣跨敤DDL涓鴻瀛楁娣誨姞鍙惁涓虹┖錛坣ullability錛夌殑綰︽潫銆?<br /> <br /> <span style="background-color: yellow">鏄犲皠鏂囦歡涓竴鑸被鍨嬩腑鍙互鐪佺暐錛屽叾浠栦笉鐣?/span> <img src ="http://www.tkk7.com/ywj-316/aggbug/300908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ywj-316/" target="_blank">junly</a> 2009-11-03 15:35 <a href="http://www.tkk7.com/ywj-316/archive/2009/11/03/300908.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hibernate鍩虹-鍒濇http://www.tkk7.com/ywj-316/archive/2009/11/03/300903.htmljunlyjunlyTue, 03 Nov 2009 07:26:00 GMThttp://www.tkk7.com/ywj-316/archive/2009/11/03/300903.htmlhttp://www.tkk7.com/ywj-316/comments/300903.htmlhttp://www.tkk7.com/ywj-316/archive/2009/11/03/300903.html#Feedback0http://www.tkk7.com/ywj-316/comments/commentRss/300903.htmlhttp://www.tkk7.com/ywj-316/services/trackbacks/300903.html闃呰鍏ㄦ枃

junly 2009-11-03 15:26 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 中文字幕精品无码亚洲字| free哆拍拍免费永久视频| 7x7x7x免费在线观看| 亚洲人色婷婷成人网站在线观看| 欧亚一级毛片免费看| 亚洲熟女乱综合一区二区| 午夜不卡AV免费| 亚洲国产日韩成人综合天堂 | 日韩免费电影网址| 国产亚洲综合久久系列| 日韩成人免费视频| 亚洲成年人电影网站| 成人毛片18女人毛片免费96| 亚洲乱码国产乱码精华| 免费又黄又爽的视频| 国产伦精品一区二区免费| 亚洲AV午夜成人片| 1000部啪啪未满十八勿入免费| 精品亚洲国产成人| 国产免费私拍一区二区三区| 一级做a爰片久久免费| 日本红怡院亚洲红怡院最新| 亚洲精品视频免费在线观看| 精品丝袜国产自在线拍亚洲| 国产美女无遮挡免费网站| caoporm超免费公开视频| 亚洲AV日韩AV永久无码下载| 1000部拍拍拍18免费网站| 亚洲av无码有乱码在线观看| 国产成人毛片亚洲精品| 亚洲视频免费一区| 色天使色婷婷在线影院亚洲| 亚洲国产日韩在线视频| 手机在线免费视频| XXX2高清在线观看免费视频| 亚洲人成电影院在线观看| 亚洲成a人片在线播放| 最近中文字幕免费完整| 国产精品亚洲专区一区| 亚洲av日韩av激情亚洲| 国产高清免费的视频|