锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频在线观看地址,亚洲精品中文字幕乱码,久久精品a亚洲国产v高清不卡http://www.tkk7.com/wiflish/category/11471.htmlLoving Life! Loving Coding!zh-cnThu, 12 Apr 2007 22:11:29 GMTThu, 12 Apr 2007 22:11:29 GMT60Hibernate3鐨勯厤緗弬鏁版眹鎬?http://www.tkk7.com/wiflish/archive/2007/04/12/110152.html鎯抽鐨勯奔鎯抽鐨勯奔Thu, 12 Apr 2007 05:28:00 GMThttp://www.tkk7.com/wiflish/archive/2007/04/12/110152.htmlhttp://www.tkk7.com/wiflish/comments/110152.htmlhttp://www.tkk7.com/wiflish/archive/2007/04/12/110152.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/110152.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/110152.htmlSQL鏂硅█ 1銆丠ibernate JDBC灞炴?/b>

灞炴у悕 鐢ㄩ?
hibernate.connection.driver_class jdbc椹卞姩綾?/em>
hibernate.connection.url jdbc URL
hibernate.connection.username 鏁版嵁搴撶敤鎴?/em>
hibernate.connection.password 鏁版嵁搴撶敤鎴峰瘑鐮?/em>
hibernate.connection.pool_size 榪炴帴姹犲閲忎笂闄愭暟鐩?/em>
娉細浣跨敤C3P0鐨刾roperties鏍蜂緥浠g爜錛?br />
hibernate.connection.driver_class聽=聽org.postgresql.Driver
hibernate.connection.url聽=聽jdbc:postgresql://localhost/mydatabase
hibernate.connection.username聽=聽myuser
hibernate.connection.password聽=聽secret
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.dialect聽=聽org.hibernate.dialect.PostgreSQLDialect

2銆丠ibernate鐨勬暟鎹簮灞炴?/b>
灞炴у悕 鐢ㄩ?
hibernate.connection.datasource鏁版嵁婧怞NDI鍚嶅瓧
hibernate.jndi.urlJNDI鎻愪緵鑰呯殑URL (鍙?
hibernate.jndi.classJNDI InitialContextFactory綾?/em> (鍙?
hibernate.connection.username鏁版嵁搴撶敤鎴?/em> (鍙?
hibernate.connection.password鏁版嵁搴撶敤鎴峰瘑鐮?/em> (鍙?
娉細搴旂敤紼嬪簭鏈嶅姟鍣↗NDI鏁版嵁婧愮殑hibernate.properties鏍蜂緥浠g爜錛?br />
hibernate.connection.datasource聽=聽java:/comp/env/jdbc/test
hibernate.transaction.factory_class聽=聽\
聽聽聽聽org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_lookup_class聽=聽\
聽聽聽聽org.hibernate.transaction.JBossTransactionManagerLookup
hibernate.dialect聽=聽org.hibernate.dialect.PostgreSQLDialect

3銆?b>Hibernate閰嶇疆灞炴э紙鍙夛級

灞炴у悕 鐢ㄩ?
hibernate.dialect 涓涓狧ibernate Dialect綾誨悕鍏佽Hibernate閽堝鐗瑰畾鐨勫叧緋繪暟鎹簱鐢熸垚浼樺寲鐨凷QL.

鍙栧?/span>full.classname.of.Dialect

hibernate.show_sql 杈撳嚭鎵鏈塖QL璇彞鍒版帶鍒跺彴.

鍙栧?/span>true | false

hibernate.format_sql 鍦╨og鍜宑onsole涓墦鍗板嚭鏇存紓浜殑sql.

鍙栧?/span>true | false

hibernate.default_schema 鍦ㄧ敓鎴愮殑SQL涓? 灝嗙粰瀹氱殑schema/tablespace闄勫姞浜庨潪鍏ㄩ檺瀹氬悕鐨勮〃鍚嶄笂.

鍙栧?/span>SCHEMA_NAME

hibernate.default_catalog 鍦ㄧ敓鎴愮殑SQL涓? 灝嗙粰瀹氱殑catalog闄勫姞浜庢病鍏ㄩ檺瀹氬悕鐨勮〃鍚嶄笂.

鍙栧?/span>CATALOG_NAME

hibernate.session_factory_nameSessionFactory鍒涘緩鍚庯紝灝嗚嚜鍔ㄤ嬌鐢ㄨ繖涓悕瀛楃粦瀹氬埌JNDI涓?

鍙栧?/span>jndi/composite/name

hibernate.max_fetch_depth 涓哄崟鍚戝叧鑱?涓瀵逛竴, 澶氬涓)鐨勫榪炴帴鎶撳彇錛坥uter join fetch錛夋爲璁劇疆鏈澶ф繁搴? 鍊間負0鎰忓懗鐫灝嗗叧闂粯璁ょ殑澶栬繛鎺ユ姄鍙?

鍙栧?/span> 寤鴻鍦?tt class="literal">0鍒?tt class="literal">3涔嬮棿鍙栧?

hibernate.default_batch_fetch_size 涓篐ibernate鍏寵仈鐨勬壒閲忔姄鍙栬緗粯璁ゆ暟閲?

鍙栧?/span> 寤鴻鐨勫彇鍊間負4, 8, 鍜?tt class="literal">16

hibernate.default_entity_mode 涓虹敱榪欎釜SessionFactory鎵撳紑鐨勬墍鏈塖ession鎸囧畾榛樿鐨勫疄浣撹〃鐜版ā寮?

鍙栧?/span>dynamic-map, dom4j, pojo

hibernate.order_updates 寮哄埗Hibernate鎸夌収琚洿鏂版暟鎹殑涓婚敭錛屼負SQL鏇存柊鎺掑簭銆傝繖涔堝仛灝嗗噺灝戝湪楂樺茍鍙戠郴緇熶腑浜嬪姟鐨勬閿併?

鍙栧?/span>true | false

hibernate.generate_statistics 濡傛灉寮鍚? Hibernate灝嗘敹闆嗘湁鍔╀簬鎬ц兘璋冭妭鐨勭粺璁℃暟鎹?

鍙栧?/span>true | false

hibernate.use_identifer_rollback 濡傛灉寮鍚? 鍦ㄥ璞¤鍒犻櫎鏃剁敓鎴愮殑鏍囪瘑灞炴у皢琚噸璁句負榛樿鍊?

鍙栧?/span>true | false

hibernate.use_sql_comments 濡傛灉寮鍚? Hibernate灝嗗湪SQL涓敓鎴愭湁鍔╀簬璋冭瘯鐨勬敞閲婁俊鎭? 榛樿鍊間負false.

鍙栧?/span>true | false


4銆?b>Hibernate JDBC鍜岃繛鎺?connection)灞炴?br />
灞炴у悕 鐢ㄩ?
hibernate.jdbc.fetch_size 闈為浂鍊鹼紝鎸囧畾JDBC鎶撳彇鏁伴噺鐨勫ぇ灝?(璋冪敤Statement.setFetchSize()).
hibernate.jdbc.batch_size 闈為浂鍊鹼紝鍏佽Hibernate浣跨敤JDBC2鐨勬壒閲忔洿鏂?

鍙栧?/span> 寤鴻鍙?tt class="literal">5鍒?tt class="literal">30涔嬮棿鐨勫?

hibernate.jdbc.batch_versioned_data 濡傛灉浣犳兂璁╀綘鐨凧DBC椹卞姩浠?tt class="literal">executeBatch()榪斿洖姝g‘鐨勮璁℃暟 , 閭d箞灝嗘灞炴ц涓?tt class="literal">true(寮鍚繖涓夐」閫氬父鏄畨鍏ㄧ殑). 鍚屾椂錛孒ibernate灝嗕負鑷姩鐗堟湰鍖栫殑鏁版嵁浣跨敤鎵歸噺DML. 榛樿鍊間負false.

eg.true | false

hibernate.jdbc.factory_class 閫夋嫨涓涓嚜瀹氫箟鐨?tt class="literal">Batcher. 澶氭暟搴旂敤紼嬪簭涓嶉渶瑕佽繖涓厤緗睘鎬?

eg.classname.of.Batcher

hibernate.jdbc.use_scrollable_resultset 鍏佽Hibernate浣跨敤JDBC2鐨勫彲婊氬姩緇撴灉闆? 鍙湁鍦ㄤ嬌鐢ㄧ敤鎴鋒彁渚涚殑JDBC榪炴帴鏃訛紝榪欎釜閫夐」鎵嶆槸蹇呰鐨? 鍚﹀垯Hibernate浼氫嬌鐢ㄨ繛鎺ョ殑鍏冩暟鎹?

鍙栧?/span>true | false

hibernate.jdbc.use_streams_for_binary 鍦↗DBC璇誨啓binary (浜岃繘鍒?鎴?tt class="literal">serializable (鍙簭鍒楀寲) 鐨勭被鍨嬫椂浣跨敤嫻?stream)(緋葷粺綰у睘鎬?.

鍙栧?/span>true | false

hibernate.jdbc.use_get_generated_keys 鍦ㄦ暟鎹彃鍏ユ暟鎹簱涔嬪悗錛屽厑璁鎬嬌鐢↗DBC3 PreparedStatement.getGeneratedKeys() 鏉ヨ幏鍙栨暟鎹簱鐢熸垚鐨刱ey(閿?銆傞渶瑕丣DBC3+椹卞姩鍜孞RE1.4+, 濡傛灉浣犵殑鏁版嵁搴撻┍鍔ㄥ湪浣跨敤Hibernate鐨勬爣 璇嗙敓鎴愬櫒鏃墮亣鍒伴棶棰橈紝璇峰皢姝ゅ艱涓篺alse. 榛樿鎯呭喌涓嬪皢浣跨敤榪炴帴鐨勫厓鏁版嵁鏉ュ垽瀹氶┍鍔ㄧ殑鑳藉姏.

鍙栧?/span>true|false

hibernate.connection.provider_class 鑷畾涔?tt class="literal">ConnectionProvider鐨勭被鍚? 姝ょ被鐢ㄦ潵鍚慔ibernate鎻愪緵JDBC榪炴帴.

鍙栧?/span>classname.of.ConnectionProvider

hibernate.connection.isolation 璁劇疆JDBC浜嬪姟闅旂綰у埆. 鏌ョ湅java.sql.Connection鏉ヤ簡瑙e悇涓肩殑鍏蜂綋鎰忎箟, 浣嗚娉ㄦ剰澶氭暟鏁版嵁搴撻兘涓嶆敮鎸佹墍鏈夌殑闅旂綰у埆.

鍙栧?/span>1, 2, 4, 8

hibernate.connection.autocommit 鍏佽琚紦瀛樼殑JDBC榪炴帴寮鍚嚜鍔ㄦ彁浜?autocommit) (涓嶅緩璁?.

鍙栧?/span>true | false

hibernate.connection.release_mode 鎸囧畾Hibernate鍦ㄤ綍鏃墮噴鏀綣DBC榪炴帴. 榛樿鎯呭喌涓?鐩村埌Session琚樉寮忓叧闂垨琚柇寮榪炴帴鏃?鎵嶄細閲婃斁JDBC榪炴帴. 瀵逛簬搴旂敤紼嬪簭鏈嶅姟鍣ㄧ殑JTA鏁版嵁婧? 浣犲簲褰撲嬌鐢?tt class="literal">after_statement, 榪欐牱鍦ㄦ瘡嬈DBC璋冪敤鍚庯紝閮戒細涓誨姩鐨勯噴鏀捐繛鎺? 瀵逛簬闈濲TA鐨勮繛鎺? 浣跨敤after_transaction鍦ㄦ瘡涓簨鍔$粨鏉熸椂閲婃斁榪炴帴鏄悎鐞嗙殑. auto灝嗕負JTA鍜孋MT浜嬪姟絳栫暐閫夋嫨after_statement, 涓篔DBC浜嬪姟絳栫暐閫夋嫨after_transaction.

鍙栧?/span>on_close | after_transaction | after_statement | auto

hibernate.connection.<propertyName> 灝咼DBC灞炴?tt class="literal">propertyName浼犻掑埌DriverManager.getConnection()涓幓.
hibernate.jndi.<propertyName> 灝嗗睘鎬?tt class="literal">propertyName浼犻掑埌JNDI InitialContextFactory涓幓.

5銆丠ibernate緙撳瓨灞炴?br />
灞炴у悕 鐢ㄩ?
hibernate.cache.provider_class 鑷畾涔夌殑CacheProvider鐨勭被鍚?

鍙栧?/span>classname.of.CacheProvider

hibernate.cache.use_minimal_puts 浠ラ綣佺殑璇繪搷浣滀負浠d環, 浼樺寲浜岀駭緙撳瓨鏉ユ渶灝忓寲鍐欐搷浣? 鍦℉ibernate3涓紝榪欎釜璁劇疆瀵圭殑闆嗙兢緙撳瓨闈炲父鏈夌敤, 瀵歸泦緹ょ紦瀛樼殑瀹炵幇鑰岃█錛岄粯璁ゆ槸寮鍚殑.

鍙栧?/span>true|false

hibernate.cache.use_query_cache 鍏佽鏌ヨ緙撳瓨, 涓埆鏌ヨ浠嶇劧闇瑕佽璁劇疆涓哄彲緙撳瓨鐨?

鍙栧?/span>true|false

hibernate.cache.use_second_level_cache 鑳界敤鏉ュ畬鍏ㄧ姝嬌鐢ㄤ簩綰х紦瀛? 瀵歸偅浜涘湪綾葷殑鏄犲皠瀹氫箟涓寚瀹?tt class="literal"><cache>鐨勭被錛屼細榛樿寮鍚簩綰х紦瀛?

鍙栧?/span>true|false

hibernate.cache.query_cache_factory 鑷畾涔夌殑瀹炵幇QueryCache鎺ュ彛鐨勭被鍚? 榛樿涓哄唴寤虹殑StandardQueryCache.

鍙栧?/span>classname.of.QueryCache

hibernate.cache.region_prefix 浜岀駭緙撳瓨鍖哄煙鍚嶇殑鍓嶇紑.

鍙栧?/span>prefix

hibernate.cache.use_structured_entries 寮哄埗Hibernate浠ユ洿浜烘у寲鐨勬牸寮忓皢鏁版嵁瀛樺叆浜岀駭緙撳瓨.

鍙栧?/span>true|false


6銆?b>Hibernate浜嬪姟灞炴?br />
灞炴у悕 鐢ㄩ?
hibernate.transaction.factory_class 涓涓?tt class="literal">TransactionFactory鐨勭被鍚? 鐢ㄤ簬Hibernate Transaction API (榛樿涓?tt class="literal">JDBCTransactionFactory).

鍙栧?/span>classname.of.TransactionFactory

jta.UserTransaction 涓涓狫NDI鍚嶅瓧錛岃JTATransactionFactory鐢ㄦ潵浠庡簲鐢ㄦ湇鍔″櫒鑾峰彇JTA UserTransaction.

鍙栧?/span>jndi/composite/name

hibernate.transaction.manager_lookup_class 涓涓?tt class="literal">TransactionManagerLookup鐨勭被鍚? - 褰撲嬌鐢↗VM綰х紦瀛橈紝鎴栧湪JTA鐜涓嬌鐢╤ilo鐢熸垚鍣ㄧ殑鏃跺欓渶瑕佽綾?

鍙栧?/span>classname.of.TransactionManagerLookup

hibernate.transaction.flush_before_completion 濡傛灉寮鍚? session鍦ㄤ簨鍔″畬鎴愬悗灝嗚鑷姩娓呮礂(flush). (鍦℉ibernate鍜孋MT涓璧蜂嬌鐢ㄦ椂寰堟湁鐢?)

鍙栧?/span>true | false

hibernate.transaction.auto_close_session 濡傛灉寮鍚? session鍦ㄤ簨鍔″畬鎴愬墠灝嗚鑷姩鍏抽棴. (鍦℉ibernate鍜孋MT涓璧蜂嬌鐢ㄦ椂寰堟湁鐢?)

鍙栧?/span>true | false


7銆?b>鍏朵粬灞炴?br />
灞炴у悕 鐢ㄩ?
hibernate.query.factory_class 閫夋嫨HQL瑙f瀽鍣ㄧ殑瀹炵幇.

鍙栧?/span>org.hibernate.hql.ast.ASTQueryTranslatorFactory or org.hibernate.hql.classic.ClassicQueryTranslatorFactory

hibernate.query.substitutions 灝咹ibernate鏌ヨ涓殑絎﹀彿鏄犲皠鍒癝QL鏌ヨ涓殑絎﹀彿 (絎﹀彿鍙兘鏄嚱鏁板悕鎴栧父閲忓悕瀛?.

鍙栧?/span>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC

hibernate.hbm2ddl.auto 鍦?tt class="literal">SessionFactory鍒涘緩鏃訛紝鑷姩灝嗘暟鎹簱schema鐨凞DL瀵煎嚭鍒版暟鎹簱. 浣跨敤 create-drop鏃?鍦ㄦ樉寮忓叧闂?tt class="literal">SessionFactory鏃訛紝灝哾rop鎺夋暟鎹簱schema.

鍙栧?/span>update | create | create-drop

hibernate.cglib.use_reflection_optimizer 寮鍚疌GLIB鏉ユ浛浠h繍琛屾椂鍙嶅皠鏈哄埗(緋葷粺綰у睘鎬?. 鍙嶅皠鏈哄埗鏈夋椂鍦ㄩ櫎閿欐椂姣旇緝鏈夌敤. 娉ㄦ剰鍗充嬌鍏抽棴榪欎釜浼樺寲, Hibernate榪樻槸闇瑕丆GLIB. 浣犱笉鑳藉湪hibernate.cfg.xml涓緗灞炴?

鍙栧?/span>true | false


8銆?b>SQL鏂硅█
聽聽 Hibernate SQL鏂硅█ (hibernate.dialect)
RDBMS 鏂硅█
DB2org.hibernate.dialect.DB2Dialect
DB2 AS/400org.hibernate.dialect.DB2400Dialect
DB2 OS390org.hibernate.dialect.DB2390Dialect
PostgreSQLorg.hibernate.dialect.PostgreSQLDialect
MySQLorg.hibernate.dialect.MySQLDialect
MySQL with InnoDBorg.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAMorg.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version)org.hibernate.dialect.OracleDialect
Oracle 9i/10gorg.hibernate.dialect.Oracle9Dialect
Sybaseorg.hibernate.dialect.SybaseDialect
Sybase Anywhereorg.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Serverorg.hibernate.dialect.SQLServerDialect
SAP DBorg.hibernate.dialect.SAPDBDialect
Informixorg.hibernate.dialect.InformixDialect
HypersonicSQLorg.hibernate.dialect.HSQLDialect
Ingresorg.hibernate.dialect.IngresDialect
Progressorg.hibernate.dialect.ProgressDialect
Mckoi SQLorg.hibernate.dialect.MckoiDialect
Interbaseorg.hibernate.dialect.InterbaseDialect
Pointbaseorg.hibernate.dialect.PointbaseDialect
FrontBaseorg.hibernate.dialect.FrontbaseDialect
Firebirdorg.hibernate.dialect.FirebirdDialect

9銆?b>Hibernate鏃ュ織綾誨埆
綾誨埆 鍔熻兘
org.hibernate.SQL 鍦ㄦ墍鏈塖QL DML璇彞琚墽琛屾椂涓哄畠浠褰曟棩蹇?
org.hibernate.type 涓烘墍鏈塉DBC鍙傛暟璁板綍鏃ュ織
org.hibernate.tool.hbm2ddl 鍦ㄦ墍鏈塖QL DDL璇彞鎵ц鏃朵負瀹冧滑璁板綍鏃ュ織
org.hibernate.pretty 鍦╯ession娓呮礂(flush)鏃訛紝涓烘墍鏈変笌鍏跺叧鑱旂殑瀹炰綋(鏈澶?0涓?鐨勭姸鎬佽褰曟棩蹇?
org.hibernate.cache 涓烘墍鏈変簩綰х紦瀛樼殑媧誨姩璁板綍鏃ュ織
org.hibernate.transaction 涓轟簨鍔$浉鍏崇殑媧誨姩璁板綍鏃ュ織
org.hibernate.jdbc 涓烘墍鏈塉DBC璧勬簮鐨勮幏鍙栬褰曟棩蹇?
org.hibernate.hql.ast 涓篐QL鍜孲QL鐨勮嚜鍔ㄧ姸鎬佽漿鎹㈠拰鍏朵粬鍏充簬鏌ヨ瑙f瀽鐨勪俊鎭褰曟棩蹇?
org.hibernate.secure 涓篔AAS璁よ瘉璇鋒眰鍋氭棩蹇?
org.hibernate 涓轟換浣旽ibernate鐩稿叧淇℃伅鍋氭棩蹇?(淇℃伅閲忚緝澶? 浣嗗鏌ラ敊闈炲父鏈夊府鍔?




鎯抽鐨勯奔 2007-04-12 13:28 鍙戣〃璇勮
]]>
Hibernate鍥炶皟涓庢嫤鎴満鍒垛斺擧ibernate娣卞叆嫻呭嚭http://www.tkk7.com/wiflish/archive/2006/08/16/63966.html鎯抽鐨勯奔鎯抽鐨勯奔Wed, 16 Aug 2006 09:41:00 GMThttp://www.tkk7.com/wiflish/archive/2006/08/16/63966.htmlhttp://www.tkk7.com/wiflish/comments/63966.htmlhttp://www.tkk7.com/wiflish/archive/2006/08/16/63966.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/63966.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/63966.html1銆佸疄浣撳璞mplements Lifecycle鎺ュ彛錛孡ifecycle鎺ュ彛浠g爜錛?br />
publicinterface聽Lifecycle聽{
聽聽聽聽
/**
聽聽聽聽聽*聽鍦ㄥ疄浣撳璞ave/Insert鎿嶄綔涔嬪墠瑙﹀彂.
聽聽聽聽聽
*/
聽聽聽聽
publicboolean聽onSave(Session聽s)聽throws聽CallbackException;
聽聽聽聽
聽聽聽聽
/**
聽聽聽聽聽*聽鍦⊿ession.update()鎿嶄綔涔嬪墠瑙﹀彂.
聽聽聽聽聽
*/
聽聽聽聽
publicboolean聽onUpdate(Session聽s)聽throws聽CallbackException;

聽聽聽聽
/**
聽聽聽聽聽*聽鍦ㄥ疄浣撳璞″垹闄や箣鍓嶈Е鍙?
聽聽聽聽聽
*/
聽聽聽聽
publicboolean聽onDelete(Session聽s)聽throws聽CallbackException;

聽聽聽聽
/**
聽聽聽聽 *聽鍦ㄥ疄浣撳璞″姞杞戒箣鍚庤Е鍙?
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽onLoad(Session聽s,聽Serializable聽id);
}
瀹炰綋瀵硅薄閫氳繃瀹炵幇Lifecycle鎺ュ彛錛屽嵆鍙互鍦ㄧ壒瀹氱殑鎸佷箙鍖栭樁孌碉紝瑙﹀彂鐗瑰畾鐨勫鐞嗚繃紼嬨傛瘮濡傚湪瀹炰綋瀵硅薄Tuser瀹炵幇浜哃ifecycle鎺ュ彛鐨刼nSave鏂規硶錛屽垯鍦ㄥ疄浣撳璞user淇濆瓨涔嬪墠灝嗗厛鎵цonSave鏂規硶銆?br />
2銆佸疄浣撳璞mplements Validatable鎺ュ彛錛孷alidatable鎺ュ彛浠g爜錛?br />
publicinterface聽Validatable聽{
聽聽聽聽
publicvoid聽validate()聽throws ValidationFailure;
}
聽聽 Validatable鎺ュ彛瀹氫箟浜嗘暟鎹獙璇佸疄鐜版柟寮忋傚疄浣撳璞″疄鐜癡alidatable鎺ュ彛錛屽茍鍦╲alidate鏂規硶涓褰撳墠寰呬繚瀛?/b>鐨勬暟鎹繘琛岄獙璇侊紝浠ヤ繚璇佹暟鎹殑閫昏緫鍚堟硶鎬?鐢變簬璇ユ柟娉曞湪瀹炰綋瀵硅薄鐢熷懡鍛ㄦ湡鍐咃紝鍙兘琚嬈¤皟鐢紝鎵浠ユ鏂規硶鏈濂藉彧鐢ㄤ簬鏁版嵁鏈韓鐨勯昏緫鍚堟硶鎬ч獙璇侊紝鑰屼笉瑕佽瘯鍥懼幓瀹炵幇鏁版嵁涓氬姟閫昏緫鐨勯獙璇?銆?br />
浠ヤ笂2縐嶆柟娉曢兘瑕佹眰瀹炵幇Hibernate涓殑Lifecycle鎴朧alidatable鎺ュ彛錛屽叿鏈夊緢澶х殑渚靛叆鎬э紝浣垮緱瀹炰綋瀵硅薄鐨勭Щ妞嶅緢涓嶆柟渚褲侶ibernate鍙堟彁渚涗簡涓縐嶆嫤鎴満鍒訛紝涓哄璞℃寔涔呭寲浜嬩歡鐨勬崟鑾峰拰澶勭悊鎻愪緵浜嗕竴涓潪渚靛叆鎬х殑瀹炵幇銆?br />
3銆佸疄鐜癐nterceptor鎺ュ彛錛屽湪鍒涘緩session鏃訛紝鎸囧畾鍔犺澆Interceptor鐩稿簲鐨勫疄鐜扮被錛屾session 鐨勬寔涔呭寲鎿嶄綔閮藉皢棣栧厛緇忕敱姝ゆ嫤鎴櫒鎹曡幏澶勭悊銆侷nterceptor(Hibernate3)鎺ュ彛浠g爜錛?br />
package聽org.hibernate;

import聽java.io.Serializable;
import聽java.util.Iterator;

import聽org.hibernate.type.Type;

publicinterface聽Interceptor聽{

聽聽聽
//瀵硅薄鍒濆鍖栦箣鍓嶅姞杞?榪欓噷鐨別ntity澶勪簬鍒氳鍒涘緩鐨勭姸鎬?鍗沖睘鎬у潎鏈祴鍊?.
聽聽聽聽
publicboolean聽onLoad(Object聽entity,聽Serializable聽id,聽Object[]聽state,聽String[]聽propertyNames,
聽聽聽聽聽聽聽聽聽聽聽 Type[]聽types)聽
throws聽CallbackException;
聽聽聽

聽聽聽 //Session.flush()鏂規硶榪涜鑴忔暟鎹鏌ユ椂,濡傛灉鍙戠幇PO鐘舵佹敼鍙?鍒欒皟鐢ㄦ鏂規硶(鍗沖疄浣撳璞℃洿鏂頒箣鍓嶈皟鐢?.
聽聽聽聽publicboolean聽onFlushDirty(Object聽entity,聽Serializable聽id,聽Object[]聽currentState,
聽聽聽聽聽聽聽聽聽聽 Object[]聽previousState,聽String[]聽propertyNames,聽Type[]聽types)聽
throws聽CallbackException;
聽聽聽
聽聽聽 //鍦ㄥ疄浣撳璞¤淇濆瓨涔嬪墠璋冪敤.
聽聽聽聽
publicboolean聽onSave(Object聽entity,聽Serializable聽id,聽Object[]聽state,聽String[]聽propertyNames,
聽聽聽聽聽聽聽聽聽聽 Type[]聽types)聽
throws聽CallbackException;
聽聽聽

聽聽聽 //鍦ㄥ璞¤鍒犻櫎涔嬪墠璋冪敤.
聽聽聽聽publicvoid聽onDelete(Object聽entity,聽Serializable聽id,聽Object[]聽state,聽String[]聽propertyNames,
聽聽聽聽聽聽聽聽聽聽 Type[]聽types)聽
throws聽CallbackException;
聽聽聽聽
/**
聽聽聽聽聽*聽Called聽before聽a聽collection聽is聽(re)created.
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽onCollectionRecreate(Object聽collection,聽Serializable聽key)聽throws聽CallbackException;
聽聽聽聽
/**
聽聽聽聽聽*聽Called聽before聽a聽collection聽is聽deleted.
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽onCollectionRemove(Object聽collection,聽Serializable聽key)聽throws聽CallbackException;
聽聽聽聽
/**
聽聽聽聽聽*聽Called聽before聽a聽collection聽is聽updated.
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽onCollectionUpdate(Object聽collection,聽Serializable聽key)聽throws聽CallbackException;
聽聽聽

聽聽聽 //Session鎵цflush鏂規硶涔嬪墠璋冪敤.
聽聽聽聽publicvoid聽preFlush(Iterator聽entities)聽throws聽CallbackException;
聽聽

聽聽聽 //Session鎵цflush鏂規硶涔嬪悗璋冪敤.
聽聽聽聽publicvoid聽postFlush(Iterator聽entities)聽throws聽CallbackException;

聽聽聽聽
/**
聽聽聽聽聽*聽Called聽to聽distinguish聽between聽transient聽and聽detached聽entities.聽The聽return聽value聽determines聽the
聽聽聽聽聽*聽state聽of聽the聽entity聽with聽respect聽to聽the聽current聽session.
聽聽聽聽聽*聽<ul>
聽聽聽聽聽*聽<li><tt>Boolean.TRUE</tt>聽-聽the聽entity聽is聽transient
聽聽聽聽聽*聽<li><tt>Boolean.FALSE</tt>聽-聽the聽entity聽is聽detached
聽聽聽聽聽*聽<li><tt>null</tt>聽-聽Hibernate聽uses聽the聽<tt>unsaved-value</tt>聽mapping聽and聽other聽heuristics聽to聽
聽聽聽聽聽*聽determine聽if聽the聽object聽is聽unsaved
聽聽聽聽聽*聽</ul>
聽聽聽聽聽*聽
@param聽entity聽a聽transient聽or聽detached聽entity
聽聽聽聽聽*聽
@return聽Boolean聽or聽<tt>null</tt>聽to聽choose聽default聽behaviour
聽聽聽聽聽
*/
聽聽聽聽
public聽Boolean聽isTransient(Object聽entity);
聽聽聽聽
/**
聽聽聽聽聽*聽Called聽from聽<tt>flush()</tt>.聽The聽return聽value聽determines聽whether聽the聽entity聽is聽updated
聽聽聽聽聽*聽<ul>
聽聽聽聽聽*聽<li>an聽array聽of聽property聽indices聽-聽the聽entity聽is聽dirty
聽聽聽聽聽*聽<li>an聽empty聽array聽-聽the聽entity聽is聽not聽dirty
聽聽聽聽聽*聽<li><tt>null</tt>聽-聽use聽Hibernate's聽default聽dirty-checking聽algorithm
聽聽聽聽聽*聽</ul>
聽聽聽聽聽*聽
@param聽entity聽a聽persistent聽entity
聽聽聽聽聽*聽
@return聽array聽of聽dirty聽property聽indices聽or聽<tt>null</tt>聽to聽choose聽default聽behaviour
聽聽聽聽聽
*/
聽聽聽聽
publicint[]聽findDirty(Object聽entity,聽Serializable聽id,聽Object[]聽currentState,
聽聽聽聽聽聽聽聽聽聽聽聽 Object[]聽previousState, String[]聽propertyNames,聽Type[]聽types);
聽聽聽聽
/**
聽聽聽聽聽*聽Instantiate聽the聽entity聽class.聽Return聽<tt>null</tt>聽to聽indicate聽that聽Hibernate聽should聽use
聽聽聽聽聽*聽the聽default聽constructor聽of聽the聽class.聽The聽identifier聽property聽of聽the聽returned聽instance
聽聽聽聽聽*聽should聽be聽initialized聽with聽the聽given聽identifier.
聽聽聽聽聽*
聽聽聽聽聽*聽
@param聽entityName聽the聽name聽of聽the聽entity
聽聽聽聽聽*聽
@param聽entityMode聽The聽type聽of聽entity聽instance聽to聽be聽returned.
聽聽聽聽聽*聽
@param聽id聽the聽identifier聽of聽the聽new聽instance
聽聽聽聽聽*聽
@return聽an聽instance聽of聽the聽class,聽or聽<tt>null</tt>聽to聽choose聽default聽behaviour
聽聽聽聽聽
*/
聽聽聽聽
public聽Object聽instantiate(String聽entityName,聽EntityMode聽entityMode,
聽聽聽聽聽聽聽聽聽聽 Serializable聽id)聽
throws聽CallbackException;

聽聽聽聽
/**
聽聽聽聽聽*聽Get聽the聽entity聽name聽for聽a聽persistent聽or聽transient聽instance
聽聽聽聽聽*聽
@param聽object聽an聽entity聽instance
聽聽聽聽聽*聽
@return聽the聽name聽of聽the聽entity
聽聽聽聽聽
*/
聽聽聽聽
public聽String聽getEntityName(Object聽object)聽throws聽CallbackException;

聽聽聽聽
/**
聽聽聽聽聽*聽Get聽a聽fully聽loaded聽entity聽instance聽that聽is聽cached聽externally
聽聽聽聽聽*聽
@param聽entityName聽the聽name聽of聽the聽entity
聽聽聽聽聽*聽
@param聽id聽the聽instance聽identifier
聽聽聽聽聽*聽
@return聽a聽fully聽initialized聽entity
聽聽聽聽聽*聽
@throws聽CallbackException
聽聽聽聽聽
*/
聽聽聽聽
public聽Object聽getEntity(String聽entityName,聽Serializable聽id)聽throws聽CallbackException;
聽聽聽聽
聽聽聽聽
/**
聽聽聽聽聽*聽Called聽when聽a聽Hibernate聽transaction聽is聽begun聽via聽the聽Hibernate聽<tt>Transaction</tt>聽
聽聽聽聽聽*聽API.聽Will聽not聽be聽called聽if聽transactions聽are聽being聽controlled聽via聽some聽other聽
聽聽聽聽聽*聽mechanism聽(CMT,聽for聽example).
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽afterTransactionBegin(Transaction聽tx);
聽聽聽聽
/**
聽聽聽聽聽*聽Called聽before聽a聽transaction聽is聽committed聽(but聽not聽before聽rollback).
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽beforeTransactionCompletion(Transaction聽tx);
聽聽聽聽
/**聽聽聽聽 *聽Called聽after聽a聽transaction聽is聽committed聽or聽rolled聽back.
聽聽聽聽聽
*/
聽聽聽聽
publicvoid聽afterTransactionCompletion(Transaction聽tx);

聽聽聽聽
/**
聽聽聽聽聽*聽Called聽when聽sql聽string聽is聽being聽prepared.聽
聽聽聽聽聽*聽
@param聽sql聽sql聽to聽be聽prepared
聽聽聽聽聽*聽
@return聽original聽or聽modified聽sql
聽聽聽聽聽
*/
聽聽聽聽
public聽String聽onPrepareStatement(String聽sql);
}






]]>
Hibernate3 瀹炰綋灞炴х殑寤惰繜鍔犺澆鈥斺擧ibernate娣卞叆嫻呭嚭http://www.tkk7.com/wiflish/archive/2006/08/15/63692.html鎯抽鐨勯奔鎯抽鐨勯奔Tue, 15 Aug 2006 07:54:00 GMThttp://www.tkk7.com/wiflish/archive/2006/08/15/63692.htmlhttp://www.tkk7.com/wiflish/comments/63692.htmlhttp://www.tkk7.com/wiflish/archive/2006/08/15/63692.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/63692.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/63692.html灞炴у歡榪熷姞杞界殑瀹炵幇錛?br />1銆佸湪瀹炰綋鏄犲皠鏂囦歡涓紝閫氳繃property鑺傜偣鐨刲azy灞炴э紝鍙互涓虹壒瀹氱殑灞炴у埗瀹氬歡榪熷姞杞界瓥鐣ャ?br />
<hibernate-mapping>
聽聽
<class聽
聽聽聽聽聽
name="test.Tuser"
聽聽聽聽聽table
="T_USER"
聽聽聽聽聽batch-size
="5">
聽聽聽聽聽
<id聽name="id"聽columen="id">
聽聽聽聽聽聽聽聽
<generator聽class="native"/>
聽聽聽聽聽
</id>
聽聽聽聽聽
<property聽
聽聽聽聽聽聽聽聽聽
name="name"
聽聽聽聽聽聽聽聽聽column
="name"/>
聽聽聽聽聽
<property聽
聽聽聽聽聽聽聽聽聽
name="age"
聽聽聽聽聽聽聽聽聽column
="age"/>
聽聽聽聽聽
<property
聽聽聽聽聽聽聽聽聽
name="resume"
聽聽聽聽聽聽聽聽聽column
="resume"
聽聽聽聽聽聽聽聽聽lazy
="true"/>聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //榪欓噷灝嗕釜浜虹畝鍘嗭紙澶ф枃鏈瓧孌碉級璁劇疆涓哄歡榪熷姞杞姐?/span>
聽聽聽
</class>
</hibernate-mapping>

2銆侀厤緗簡lazy灞炴т箣澶栵紝榪樿鍊熷姪綾誨寮哄櫒瀵逛簩榪涘埗Class鏂囦歡榪涜寮哄寲澶勭悊錛坆uildtime bytecode instrumentation)銆傞氳繃ANT璋冪敤Hibernate綾誨寮哄櫒瀵筎User.class鏂囦歡榪涜寮哄寲澶勭悊銆傝剼鏈涓嬶細
<project聽name="HibernateSample"聽default="instrument"聽basedir=".">
聽聽
<property聽name="lib.dir"聽value="./lib"/>
聽聽
<property聽name="classes.dir"聽value="./bin"/>
聽聽
聽聽
<path聽id="lib.class.path">
聽聽聽聽聽
<fileset聽dir="${lib.dir}">
聽聽聽聽聽聽聽聽聽
<include聽name="**/*.jar"/>
聽聽聽聽聽
</fileset>
聽聽聽
聽聽
<target聽name="instrument">
聽聽聽聽聽
<taskdef聽name="instrument"
聽聽聽聽聽聽聽聽聽classname
="org.hibernate.tool.instrument.InstrumentTask">

聽聽聽聽聽聽聽聽
<classpath聽path="${classes.dir}"/>
聽聽聽聽聽聽聽聽
<classpath聽refid="lib.class.path"/>
聽聽聽聽 </
taskdef>
聽聽聽聽聽聽聽聽
聽聽聽聽
<instrument聽verbose="true">
聽聽聽聽聽聽聽
<fileset聽dir="${classes.dir}/com.redsaga/hibernate/db/entity">
聽聽聽聽聽聽聽聽聽聽
<include聽name="TUser.class"/>
聽聽聽聽聽聽聽
</fileset>
聽聽聽聽
</instrument>
</target>
</project>
聽聽
娉細鑴氭湰涓秹鍙婄殑閰嶇疆璺緞錛屾牴鎹」鐩洰褰曚慨鏀廣?br />

]]>
Hibernate鏁版嵁鍔犺澆鏂瑰紡鈥斺攈ibernate娣卞叆嫻呭嚭http://www.tkk7.com/wiflish/archive/2006/08/03/61544.html鎯抽鐨勯奔鎯抽鐨勯奔Thu, 03 Aug 2006 09:25:00 GMThttp://www.tkk7.com/wiflish/archive/2006/08/03/61544.htmlhttp://www.tkk7.com/wiflish/comments/61544.htmlhttp://www.tkk7.com/wiflish/archive/2006/08/03/61544.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/61544.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/61544.html1銆佸嵆鏃跺姞杞斤紙Immediate Loading錛?br />聽聽 褰撳疄浣撳姞杞藉畬鎴愬悗錛岀珛鍗沖姞杞戒笌瀹炰綋鐩稿叧鑱旂殑鏁版嵁銆傚嵆褰撳疄浣撳姞杞藉畬鎴愬悗錛孒ibernate鑷姩绔嬪嵆璇誨彇涓庡疄浣撶浉鍏寵仈鐨勬暟鎹紝騫朵笖濉厖鍒板疄浣撳搴旂殑灞炴т腑銆傝繖縐嶅姞杞介氬父鏈夊鏉elect璇彞錛屽嵆select瀹炰綋鏁版嵁鍚庯紝鍚屾椂select瀹炰綋鐩稿叧鑱旂殑鏁版嵁銆?br />
2銆佸歡榪熷姞杞斤紙Lazy Loading錛?br />聽聽 瀹炰綋鍔犺澆鏃訛紝鍏跺叧鑱旀暟鎹茍涓嶆槸绔嬪嵆璇誨彇錛岃屾槸褰撳叧鑱旀暟鎹涓嬈¤璁塊棶鏃跺啀榪涜璇誨彇錛岃繖縐嶅姞杞芥柟寮忓湪絎竴嬈¤闂叧鑱旀暟鎹椂錛屽繀欏誨湪鍚屼竴涓猻ession涓紝鍚﹀垯浼氭姤session宸插叧闂敊璇?br />聽聽 寤惰繜鍔犺澆閫氳繃鍦ㄥ疄浣撶殑hbm鏂囦歡涓殑瀵瑰簲灞炴т腑璁懼畾lazy="true"瀹炵幇銆侶ibernate3榛樿鐨勫姞杞芥柟寮忔槸寤惰繜鍔犺澆銆傚嵆榛樿lazy="true"錛屼富瑕佺敤浜巓ne-to-many鍦哄悎銆?br />
3銆侀鍏堝姞杞斤紙Eager Loading錛?br />聽聽 棰勫厛鍔犺澆鏃訛紝瀹炰綋鍙婂叧鑱斿璞″悓鏃惰鍙栵紝涓庡嵆鏃跺姞杞界被浼鹼紝浣嗘槸棰勫厛鍔犺澆鏄嬌鐢?outer-join"閫氳繃涓鏉elect璇彞鍚屾椂璇誨彇銆?br />聽聽 娉ㄦ剰錛氬綋瀹炰綋闂村叧鑱旀瘮杈冨鏉傛椂錛屾瘮濡傚灞傚叧鑱旓紝Hibernate鐢熸垚鐨?outer join SQL"鍙兘榪囦簬澶嶆潅錛屾鏃跺彲浠ラ氳繃璁懼畾鍏ㄥ眬鍙橀噺錛坔ibernate.max_fetch_depth錛夐檺瀹歫oin鐨勫眰嬈★紙涓鑸瀹氫負5灞傦級銆?br />
4銆佹壒閲忓姞杞斤紙Batch Loading錛?br />聽聽 瀵逛簬鍗蟲椂鍜屽歡榪熷姞杞斤紝鍙互閲囩敤鎵歸噺鍔犺澆榪涜浼樺寲銆?br />聽聽 鎵歸噺鍔犺澆灝辨槸閫氳繃鎵歸噺鎻愪氦澶氫釜闄愬畾鏉′歡錛屼竴嬈″涓檺瀹氭潯浠剁殑鏁版嵁璇誨彇銆傚悓鏃跺湪瀹炰綋鏄犲皠鏂囦歡涓殑class鑺傜偣錛岄氳繃閰嶇疆"batch-size"鍙傛暟鎵撳紑鎵歸噺鍔犺澆鏈哄埗錛屽茍闄愬畾姣忔鎵歸噺鍔犺澆鏁版嵁鐨勬暟閲?涓鑸潵璇磋鍊?lt;10杈冨悎鐞?

姣斿錛毬犅犅?div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">select聽*聽from test聽where聽id=1;
select聽
*聽from test聽where聽id=2;聽 鎴戜滑鍙互鏁村悎鎴愪竴鏉¤鍙ワ細
select聽*聽from聽test聽where聽id=1聽ro聽id=2;
聽 榪欏氨鏄墍璋撶殑鎵歸噺鍔犺澆鏈哄埗銆?br />



]]>
[杞琞Hibernate: could not initialize proxy - the owning Session was closedhttp://www.tkk7.com/wiflish/archive/2006/07/27/60362.html鎯抽鐨勯奔鎯抽鐨勯奔Thu, 27 Jul 2006 07:21:00 GMThttp://www.tkk7.com/wiflish/archive/2006/07/27/60362.htmlhttp://www.tkk7.com/wiflish/comments/60362.htmlhttp://www.tkk7.com/wiflish/archive/2006/07/27/60362.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/60362.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/60362.htmlhttp://www.javathinker.org/main.jsp?bc=hibernate/hibernate_essay_16.htm
鏈敊璇殑浜х敓鍘熷洜鍙婅В閲?

寤惰繜鍒濆鍖栭敊璇紙ERROR LazyInitializer錛夋槸濡備綍浜х敓鐨?

閫夎嚜<<綺鵑欻ibernate錛欽ava瀵硅薄鎸佷箙鍖栨妧鏈瑙?gt;> 浣滆咃細瀛欏崼鐞?/a> 鏉ユ簮:www.javathinker.org
濡傛灉杞澆錛岃鏍囨槑鍑哄錛岃阿璋?/font>

寤惰繜鍒濆鍖栭敊璇槸榪愮敤Hibernate寮鍙戦」鐩椂鏈甯歌鐨勯敊璇傚鏋滃涓涓被鎴栬呴泦鍚堥厤緗簡寤惰繜媯绱㈢瓥鐣ワ紝閭d箞蹇呴』褰撲唬鐞嗙被瀹炰緥鎴栦唬鐞嗛泦鍚堝浜庢寔涔呭寲鐘舵侊紙鍗沖浜嶴ession鑼冨洿鍐咃級鏃訛紝鎵嶈兘鍒濆鍖栧畠銆傚鏋滃湪娓哥鐘舵佹椂鎵嶅垵濮嬪寲瀹冿紝灝變細浜х敓寤惰繜鍒濆鍖栭敊璇?/p>

涓嬮潰鎶奀ustomer.hbm.xml鏂囦歡鐨?lt;class>鍏冪礌鐨刲azy灞炴ц涓簍rue錛岃〃紺轟嬌鐢ㄥ歡榪熸绱㈢瓥鐣ワ細

<class name="mypack.Customer" table="CUSTOMERS" lazy="true">

褰撴墽琛孲ession鐨刲oad()鏂規硶鏃訛紝Hibernate涓嶄細绔嬪嵆鎵ц鏌ヨCUSTOMERS琛ㄧ殑select璇彞錛屼粎浠呰繑鍥濩ustomer綾葷殑浠g悊綾葷殑瀹炰緥錛岃繖涓唬鐞嗙被鍏風敱浠ヤ笅鐗瑰緛錛?/p>

錛?錛?鐢盚ibernate鍦ㄨ繍琛屾椂鍔ㄦ佺敓鎴愶紝瀹冩墿灞曚簡Customer綾伙紝鍥犳瀹冪戶鎵夸簡Customer綾葷殑鎵鏈夊睘鎬у拰鏂規硶錛屼絾瀹冪殑瀹炵幇瀵逛簬搴旂敤紼嬪簭鏄忔槑鐨勩?br /> 錛?錛?褰揌ibernate鍒涘緩Customer浠g悊綾誨疄渚嬫椂錛屼粎浠呭垵濮嬪寲浜嗗畠鐨凮ID灞炴э紝鍏朵粬灞炴ч兘涓簄ull錛屽洜姝よ繖涓唬鐞嗙被瀹炰緥鍗犵敤鐨勫唴瀛樺緢灝戙?br /> 錛?錛? 褰撳簲鐢ㄧ▼搴忕涓嬈¤闂瓹ustomer浠g悊綾誨疄渚嬫椂錛堜緥濡傝皟鐢╟ustomer.getXXX()鎴朿ustomer.setXXX()鏂規硶錛夛紝 Hibernate浼氬垵濮嬪寲浠g悊綾誨疄渚嬶紝鍦ㄥ垵濮嬪寲榪囩▼涓墽琛宻elect璇彞錛岀湡姝d粠鏁版嵁搴撲腑鍔犺澆Customer瀵硅薄鐨勬墍鏈夋暟鎹備絾鏈変釜渚嬪錛岄偅灝辨槸褰? 搴旂敤紼嬪簭璁塊棶Customer浠g悊綾誨疄渚嬬殑getId()鏂規硶鏃訛紝Hibernate涓嶄細鍒濆鍖栦唬鐞嗙被瀹炰緥錛屽洜涓哄湪鍒涘緩浠g悊綾誨疄渚嬫椂OID灝卞瓨鍦ㄤ簡錛屼笉蹇? 鍒版暟鎹簱涓幓鏌ヨ銆?br />
鎻? 紺猴細Hibernate閲囩敤CGLIB宸ュ叿鏉ョ敓鎴愭寔涔呭寲綾葷殑浠g悊綾匯侰GLIB鏄竴涓姛鑳藉己澶х殑Java瀛楄妭鐮佺敓鎴愬伐鍏鳳紝瀹冭兘澶熷湪紼嬪簭榪愯鏃跺姩鎬佺敓鎴愭墿灞? Java綾繪垨鑰呭疄鐜癑ava鎺ュ彛鐨勪唬鐞嗙被銆傚叧浜嶤GLIB鐨勬洿澶氱煡璇嗭紝璇峰弬鑰冿細http://cglib.sourceforge.net/銆?/i>

浠ヤ笅浠g爜鍏堥氳繃Session鐨刲oad()鏂規硶鍔犺澆Customer瀵硅薄錛岀劧鍚庤闂畠鐨刵ame灞炴э細

tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,new Long(1));
customer.getName();
tx.commit();

鍦? 榪愯session.load()鏂規硶鏃禜ibernate涓嶆墽琛屼換浣晄elect璇彞錛屼粎浠呰繑鍥濩ustomer綾葷殑浠g悊綾葷殑瀹炰緥錛屽畠鐨凮ID涓?錛岃繖 鏄敱load()鏂規硶鐨勭浜屼釜鍙傛暟鎸囧畾鐨勩傚綋搴旂敤紼嬪簭璋冪敤customer.getName()鏂規硶鏃訛紝Hibernate浼氬垵濮嬪寲Customer浠g悊 綾誨疄渚嬶紝浠庢暟鎹簱涓姞杞紺ustomer瀵硅薄鐨勬暟鎹紝鎵ц浠ヤ笅select璇彞錛?/p>

select * from CUSTOMERS where ID=1;
select * from ORDERS where CUSTOMER_ID=1;

褰?lt;class>鍏冪礌鐨刲azy灞炴т負true錛屼細褰卞搷Session鐨刲oad()鏂規硶鐨勫悇縐嶈繍琛屾椂琛屼負錛屼笅闈婦渚嬭鏄庛?/p>

1錛庡鏋滃姞杞界殑Customer瀵硅薄鍦ㄦ暟鎹簱涓笉瀛樺湪錛孲ession鐨刲oad()鏂規硶涓嶄細鎶涘嚭寮傚父錛屽彧鏈夊綋榪愯customer.getName()鏂規硶鏃舵墠浼氭姏鍑轟互涓嬪紓甯革細

ERROR LazyInitializer:63 - Exception initializing proxy
net.sf.hibernate.ObjectNotFoundException: No row with the given identifier exists: 1, of class:
mypack.Customer

2錛庡鏋滃湪鏁翠釜Session鑼冨洿鍐咃紝搴旂敤紼嬪簭娌℃湁璁塊棶榪嘋ustomer瀵硅薄錛岄偅涔圕ustomer浠g悊綾葷殑瀹炰緥涓鐩翠笉浼氳鍒濆鍖栵紝Hibernate涓嶄細鎵ц浠諱綍select璇彞銆備互涓嬩唬鐮佽瘯鍥懼湪鍏抽棴Session鍚庤闂瓹ustomer娓哥瀵硅薄錛?/p>

tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,new Long(1));
tx.commit();
session.close();
customer.getName();

鐢變簬寮曠敤鍙橀噺customer寮曠敤鐨凜ustomer浠g悊綾葷殑瀹炰緥鍦⊿ession鑼冨洿鍐呭緇堟病鏈夎鍒濆鍖栵紝鍥犳鍦ㄦ墽琛宑ustomer.getName()鏂規硶鏃訛紝Hibernate浼氭姏鍑轟互涓嬪紓甯革細

ERROR LazyInitializer:63 - Exception initializing proxy
net.sf.hibernate.HibernateException: Could not initialize proxy - the owning Session was closed

鐢辨鍙錛孋ustomer浠g悊綾葷殑瀹炰緥鍙湁鍦ㄥ綋鍓峉ession鑼冨洿鍐呮墠鑳借鍒濆鍖栥?/p>

3錛巒et.sf.hibernate.Hibernate綾葷殑initialize()闈欐佹柟娉曠敤浜庡湪Session鑼冨洿鍐呮樉寮忓垵濮嬪寲浠g悊綾誨疄渚嬶紝isInitialized()鏂規硶鐢ㄤ簬鍒ゆ柇浠g悊綾誨疄渚嬫槸鍚﹀凡緇忚鍒濆鍖栥備緥濡傦細

tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,new Long(1));
if(!Hibernate.isInitialized(customer))
Hibernate.initialize(customer);
tx.commit();
session.close();
customer.getName();

浠ヤ笂浠g爜鍦⊿ession鑼冨洿鍐呴氳繃Hibernate綾葷殑initialize()鏂規硶鏄懼紡鍒濆鍖栦簡Customer浠g悊綾誨疄渚嬶紝鍥犳褰揝ession鍏抽棴鍚庯紝鍙互姝e父璁塊棶Customer娓哥瀵硅薄銆?/p>

4錛庡綋搴旂敤紼嬪簭璁塊棶浠g悊綾誨疄渚嬬殑getId()鏂規硶鏃訛紝涓嶄細瑙﹀彂Hibernate鍒濆鍖栦唬鐞嗙被瀹炰緥鐨勮涓猴紝渚嬪錛?/p>

tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,new Long(1));
customer.getId();
tx.commit();
session.close();
customer.getName();

褰? 搴旂敤紼嬪簭璁塊棶customer.getId()鏂規硶鏃訛紝璇ユ柟娉曠洿鎺ヨ繑鍥濩ustomer浠g悊綾誨疄渚嬬殑OID鍊鹼紝鏃犻渶鏌ヨ鏁版嵁搴撱傜敱浜庡紩鐢ㄥ彉閲? customer濮嬬粓寮曠敤鐨勬槸娌℃湁琚垵濮嬪寲鐨凜ustomer浠g悊綾誨疄渚嬶紝鍥犳褰揝ession鍏抽棴鍚庡啀鎵цcustomer.getName()鏂規硶錛? Hibernate浼氭姏鍑轟互涓嬪紓甯革細

ERROR LazyInitializer:63 - Exception initializing proxy
net.sf.hibernate.HibernateException: Could not initialize proxy - the owning Session was closed






]]>
hibernate outer join灞炴ф祬鏋?/title><link>http://www.tkk7.com/wiflish/archive/2006/07/19/59013.html</link><dc:creator>鎯抽鐨勯奔</dc:creator><author>鎯抽鐨勯奔</author><pubDate>Wed, 19 Jul 2006 08:17:00 GMT</pubDate><guid>http://www.tkk7.com/wiflish/archive/2006/07/19/59013.html</guid><wfw:comment>http://www.tkk7.com/wiflish/comments/59013.html</wfw:comment><comments>http://www.tkk7.com/wiflish/archive/2006/07/19/59013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wiflish/comments/commentRss/59013.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wiflish/services/trackbacks/59013.html</trackback:ping><description><![CDATA[outer join=true錛宧ibernate瀵硅鍏寵仈榪涜澶栬繛鎺ユ姄鍙栵紱<br />outer join=false, hibernate瀵硅鍏寵仈涓嶈繘琛屽榪炴帴鎶撳彇銆?br /><br />褰撳湪hibernate.cfg.xml閰嶇疆鏂囦歡涓殑灞炴?br /><property name="hibernate.max_fetch_depth">0</property><br />璁劇疆涓?鏃訛紝浠庡叏灞鍏抽棴澶栬繛鎺ユ姄鍙栵紝姝ゆ椂outer-join灞炴ф棤鏁堛?br /><property name="hibernate.max_fetch_depth">2</property><br />璁劇疆涓?gt;0鏃訛紝outer-join灞炴ф湁鏁堛?br /><img src ="http://www.tkk7.com/wiflish/aggbug/59013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wiflish/" target="_blank">鎯抽鐨勯奔</a> 2006-07-19 16:17 <a href="http://www.tkk7.com/wiflish/archive/2006/07/19/59013.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hibernate澶嶅悎涓婚敭闇娉ㄦ剰鐨勪竴鐐瑰皬闂(hibernate3)http://www.tkk7.com/wiflish/archive/2006/06/30/55958.html鎯抽鐨勯奔鎯抽鐨勯奔Fri, 30 Jun 2006 06:40:00 GMThttp://www.tkk7.com/wiflish/archive/2006/06/30/55958.htmlhttp://www.tkk7.com/wiflish/comments/55958.htmlhttp://www.tkk7.com/wiflish/archive/2006/06/30/55958.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/55958.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/55958.html鎵浠ュ湪榪涜澶嶅悎涓婚敭鏄犲皠鏃墮渶鎸囧畾澶嶅悎涓婚敭涓悇瀛楁鐨勯暱搴︺?br />


]]>
hibernate+mysql瀛樹腑鏂囬棶棰?/title><link>http://www.tkk7.com/wiflish/archive/2006/06/30/55916.html</link><dc:creator>鎯抽鐨勯奔</dc:creator><author>鎯抽鐨勯奔</author><pubDate>Fri, 30 Jun 2006 03:47:00 GMT</pubDate><guid>http://www.tkk7.com/wiflish/archive/2006/06/30/55916.html</guid><wfw:comment>http://www.tkk7.com/wiflish/comments/55916.html</wfw:comment><comments>http://www.tkk7.com/wiflish/archive/2006/06/30/55916.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/wiflish/comments/commentRss/55916.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wiflish/services/trackbacks/55916.html</trackback:ping><description><![CDATA[鐜錛歨ibernate3.1 + mysql4.1 + mysql-connector-java-3.0.11-stable-bin.jar椹卞姩<br />褰撳皢mysql鐨勯粯璁ゅ瓧絎﹂泦璁劇疆鎴恉efault-character-set=gbk錛屾彃鍏ヤ腑鏂囧瓧絎︽椂鍑虹幇<br />渚嬪瓙錛?br />Hibernate: insert into book (bookpagenum, published, bookname, bookauthor) values (?, ?, ?, ?)<br />could not bind value '寰呮彃鍏ョ殑涓枃瀛楃' to parameter: 2; String index out of range: 9<br /><br />榪欐槸mysql鐨刴ysql-connector-java-3.0.11-stable-bin.jar椹卞姩闂銆傛洿鎹㈤┍鍔ㄥ氨濂戒簡<br />(姣斿錛歮ysql-connector-java-3.1.13-bin.jar)<br /><br /><img src ="http://www.tkk7.com/wiflish/aggbug/55916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wiflish/" target="_blank">鎯抽鐨勯奔</a> 2006-06-30 11:47 <a href="http://www.tkk7.com/wiflish/archive/2006/06/30/55916.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hibernate灞炴ч厤緗竴瑙堣〃(鎽樿嚜娣卞叆嫻呭嚭hibernate)http://www.tkk7.com/wiflish/archive/2006/06/28/55504.html鎯抽鐨勯奔鎯抽鐨勯奔Wed, 28 Jun 2006 03:39:00 GMThttp://www.tkk7.com/wiflish/archive/2006/06/28/55504.htmlhttp://www.tkk7.com/wiflish/comments/55504.htmlhttp://www.tkk7.com/wiflish/archive/2006/06/28/55504.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/55504.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/55504.html 灞炴у悕
鐢?閫?/b>
hibernate.dialect
鏁版嵁搴撻傞厤鍣?dialect),鐢ㄤ簬瀵圭壒瀹氭暟鎹簱鎻愪緵鏀寔錛屽叾涓寘鍚簡閽堝鐗瑰畾鏁版嵁搴撶壒鎬х殑瀹炵幇錛屽hibernate鏁版嵁綾誨瀷鍒扮壒瀹氭暟鎹簱鏁版嵁綾誨瀷鐨勬槧灝勭瓑銆?
hibernate.default_schema
鍦ㄧ敓鎴愮殑SQL涓紝schema/tablespace鐨勫叏闄愬畾鍚?br /> hibernate.session_factory_name
鎶奡essionFactory緇戝畾鍒癑NDI涓殑鍚嶇О
hibernate.max_fecth_depth
瀵瑰崟鏍硅仈鍚堬紙涓瀵逛竴銆佸瀵逛竴錛夛紝璁劇疆澶栬繛鎺ョ殑鏈澶ф繁搴︼紝濡傛灉鏄?灝嗗叧闂粯璁ょ殑澶栬繛鎺ユ姄鍙栥?
hibernate.jdbc.fetch_size
闈為浂鍊鹼紝鐢ㄦ潵璁劇疆JDBC鑾峰彇鐨勮褰曟潯鏁般?
hibernate.jdbc.batch_size
闈為浂鍊鹼紝鎸囧畾浜咹ibernate榪涜姣忔鎵歸噺鎻愪氦闃鍊箋?/font>
hibernate.jdbc.use_scrollable_resultset
璁劇疆鏄惁鍏佽Hibernate浣跨敤JDBC2鎻愪緵鐨勫彲婊氬姩緇撴灉闆嗭紝鍙湁鍦ㄤ嬌鐢ㄧ敤鎴瘋嚜琛屾彁渚涚殑JDBC榪炴帴鏃訛紝榪欎釜鍙傛暟鎵嶆槸蹇呴渶鐨勩傚惁鍒欙紝Hibernate浼氭牴鎹繛鎺ョ殑鍏冩暟鎹紙metadata錛夎嚜琛屽垽瀹氥?
hibernate.jdbc.use_streams_for_binary
鏄惁鍦ㄤ粠JDBC璇誨啓binary錛堜簩榪涘埗錛夋垨鑰卻erializable(鍙簭鍒楀寲)綾誨瀷鏃訛紝浣跨敤stream(嫻?
hibernate.jdbc.use_get_generated_keys
鏄惁鍏佽浣跨敤JDBC3鐨凱reparedStatement.getGeneratedKeys()鍦ㄦ彃鍏ュ悗鑾峰彇鏁版嵁搴撹嚜韜敓鎴愮殑key銆傞渶瑕?.0浠ヤ笂鐗堟湰鐨凧DBC椹卞姩鍜?.4鎴栦互涓婄増鏈殑JDK錛?br />榛樿鎯呭喌涓嬶紝Hibernate浼氭牴鎹甁DBC Connection鍏冩暟鎹繘琛岃嚜琛屽垽瀹氥?br /> hibernate.cglib.use_reflection_optimizer
鏄惁浣跨敤CGLIB鏉ヤ唬鏇胯繍琛屾椂鍙嶅皠鎿嶄綔(緋葷粺綰у埆灞炴э紝榛樿涓哄湪鍙兘鏃墮兘浣跨敤CGLIB)
hibernate.jndi.<propertyName>
鎶妏ropertyName榪欎釜灞炴т紶閫掔粰JNDI InitialContextFactory鍘?鍙?
hibernate.connection.isolation
浜嬪姟闅旂綰у埆錛堝彲閫夛級
hibernate.connection.<propertyName>
鎶妏ropertyName榪欎釜JDBC灞炴т紶閫掔粰DriverManager.getConnection()
hibernate.connection.provider_class
鎸囧畾涓涓嚜瀹氫箟鐨凜onnectionProvider綾誨悕
hibernate.cache.provider_class
鎸囧畾涓涓嚜瀹氫箟鐨凜acheProvider緙撳瓨鎻愪緵鑰呯殑綾誨悕
hibernate.cache.use_minimal_puts
鏄惁浼樺寲絎簩綰х紦瀛樻搷浣滐紝鏈灝忓寲緙撳瓨鍐欏叆鎿嶄綔錛堜嬌鐢ㄤ簬闆嗙兢緙撳瓨錛?
hibernate.cache.use_query_cache
鏄惁鎵撳紑鏌ヨ緙撳瓨錛堜緷鐒墮渶瑕侀拡瀵規瘡涓煡璇㈣緗甤acheable灞炴э級
hibernate.cache.region_prefix
鎸囧畾涓涓嚜瀹氫箟鐨凾ransactionFactory綾誨悕錛孒ibernate Transaction API灝嗕細浣跨敤(榛樿鏄疛DBCTransactionFactory)
jta.UserTransaction
JTATransactionFactory鐢ㄦ潵浠庡簲鐢ㄦ湇鍔″櫒鑾峰彇JTA UserTransaction鐨凧NDI鍚?
hibernate.transaction.manager_lookup_class
TransactionManagerLookup鐨勭被鍚嶁斺斿綋鍦↗TA鐜涓惎鐢↗VM綰х紦瀛樻椂浣跨敤
hibernate.query.substitutions
鎶奌ibernate鏌ヨ涓殑涓浜涚煭璇浛鎹㈡垚SQL鐭錛堢煭璇彲鑳戒負鍑芥暟鎴栬呭瓧絎︼級
hibernate.show_sql
鏄惁鎶婃墽琛岀殑SQL璇彞杈撳嚭鍒版帶鍒跺彴
hibernate.hbm2dll.auto
鍦⊿essionFactory鍒涘緩鍚庯紝鑷姩杈撳嚭schema鍒涘緩璇彞鍒版暟鎹簱錛屽拰create-drop鍚屾椂浣跨敤鐨勮瘽錛屾暟鎹簱schema浼氬湪SessionFactory鏄劇ず鍏抽棴鍚庤drop鎺?


]]>
瀛︿範絎旇(娣卞叆嫻呭嚭hibernate)http://www.tkk7.com/wiflish/archive/2006/06/22/54519.html鎯抽鐨勯奔鎯抽鐨勯奔Thu, 22 Jun 2006 08:42:00 GMThttp://www.tkk7.com/wiflish/archive/2006/06/22/54519.htmlhttp://www.tkk7.com/wiflish/comments/54519.htmlhttp://www.tkk7.com/wiflish/archive/2006/06/22/54519.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/54519.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/54519.html 瑙h﹀悎璁捐鐩爣錛?/span>

1銆?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">聽聽聽聽聽聽聽聽聽 搴旂敤灞傝В鑰﹀悎鈥斺斿簲鐢ㄩ昏緫涓庢暟鎹昏緫鐩稿垎紱?/span>

聽聽聽聽聽聽 鍦ㄤ笟鍔$郴緇熺殑涓氬姟閫昏緫瀹炵幇榪囩▼涓紝鎴戜滑搴旇閬垮厤涓氬姟閫昏緫浠g爜涓販鏉傛暟鎹闂唬鐮侊紝鍚屾牱錛屽湪鏁版嵁璁塊棶浠g爜涓紝涔熷簲閬垮厤鍑虹幇涓氬姟閫昏緫浠g爜銆?/span>

2銆?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">聽聽聽聽聽聽聽聽聽 璧勬簮灞傝В鑰﹀悎鈥斺旈昏緫緇撴瀯涓庣墿鐞嗙粨鏋勭浉鍒嗙

聽聽聽聽聽聽聽聽聽聽聽聽聽 搴曞眰緇撴瀯鍙樺姩鐨勬儏鍐典笅錛屽敖閲忛伩鍏嶅涓婂眰緇撴瀯浜х敓褰卞搷銆?/span> 聽聽聽聽聽聽聽聽聽

聽聽聽聽聽聽聽聽聽聽聽聽聽 鐗╃悊緇撴瀯錛氳繖閲屾寚鐨勬槸鎴戜滑鏃犳硶鎺у埗鐨勭郴緇熷眰闈紝濡傚簳灞傛暟鎹簱鎺ュ彛銆?/span>

聽聽聽聽聽聽聽 DAO 錛?/span> Data Accesssor Object 錛夋ā寮忔槸 Data Accessor 妯″紡鍜?/span> Active Domain Object 妯″紡鐨勭粍鍚堬紝鍏朵腑 Data Accessor 妯″紡瀹炵幇浜嗘暟鎹闂笌涓氬姟閫昏緫鐨勫垎紱伙紝鑰?/span> Active Domain Object 妯″紡瀹炵幇浜嗕笟鍔℃暟鎹殑瀵硅薄鍖栧皝瑁呫?/span>

聽聽聽聽聽聽聽 DAO Accessor 妯″紡錛氬皢鏁版嵁璁塊棶鐨勫疄鐜版満鍒跺姞浠ュ皝瑁咃紝涓庢暟鎹殑浣跨敤浠g爜鐩稿垎紱伙紝浠庡閮ㄦ潵鐪嬶紝 DAO Accessor 鎻愪緵浜嗛粦鐩掑紡鐨勬暟鎹瓨鍙栨帴鍙c?/span>

聽聽聽 Domain Object 鎻愪緵浜嗗鎵闈㈠悜棰嗗煙鍐呭璞$殑灝佽銆?/span>



]]>
hibernate涓璱nverse=true綺楄Вhttp://www.tkk7.com/wiflish/archive/2006/06/15/53032.html鎯抽鐨勯奔鎯抽鐨勯奔Thu, 15 Jun 2006 09:16:00 GMThttp://www.tkk7.com/wiflish/archive/2006/06/15/53032.htmlhttp://www.tkk7.com/wiflish/comments/53032.htmlhttp://www.tkk7.com/wiflish/archive/2006/06/15/53032.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/53032.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/53032.html鏄犲皠鏂囦歡濡備笅錛?br />
<!-- Person.hbm.xml -->
<
hibernate-mapping聽package="events">
聽聽
<class聽name="Person"聽table="person">
聽聽聽聽聽聽
<id聽name="id"聽column="person_id">
聽聽聽聽聽聽聽聽聽聽
<generator聽class="native"/>
聽聽聽聽聽聽
</id>
聽聽聽聽聽聽
<property聽name="age"聽length="0"/>
聽聽聽聽聽聽
<property聽name="firstname"/>
聽聽聽聽聽聽
<property聽name="lastname"/>
聽聽聽聽聽聽
<set聽name="events"聽table="person_event">
聽聽聽聽聽聽聽聽聽聽
<key聽column="person_id"/>
聽聽聽聽聽聽聽聽聽聽
<many-to-many聽column="event_id"聽class="events.Event"/>
聽聽聽聽聽聽
</set>
聽聽
</class>
</hibernate-mapping>

<!-- Event.hbm.xml -->
<
hibernate-mapping>
聽聽
<class聽name="events.Event"聽table="events">
聽聽聽聽聽聽
<id聽name="id"聽column="event_id">
聽聽聽聽聽聽聽聽聽聽聽聽
<generator聽class="native"/>
聽聽聽聽聽聽
</id>
聽聽聽聽聽聽
<property聽name="date"聽column="events_date"聽type="timestamp"/>
聽聽聽聽聽聽
<property聽name="title"聽column="events_title"/>
聽聽聽聽聽聽
<set聽name="participants"聽table="person_event"聽inverse="true">
聽聽聽聽聽聽聽聽聽聽
<key聽column="event_id"/>
聽聽聽聽聽聽聽聽聽聽
<many-to-many聽column="person_id"聽class="events.Person"/>
聽聽聽聽聽聽
</set>
聽聽
</class>
</hibernate-mapping>

inverse=true鐨勫惈涔? 鐢卞弻鍚戝叧鑱斿彟涓鏂圭淮鎶よ鍏寵仈,宸辨柟涓嶇淮鎶よ鍏寵仈(鍙兘榪涜鏌ヨ鎿嶄綔)銆傚湪涓婅堪浠g爜涓紝鐢盤erson鏂圭淮鎶よ<many-to-many>鍏崇郴錛岀ず渚嬩唬鐮佸涓?浠ュ悜Person鍙備笌鐨凟vent涓姞鍏ユ柊鐨凟vent涓轟緥)錛?br />
聽聽聽聽聽聽聽聽Session聽session聽=聽HibernateUtil.getSessionFactory().getCurrentSession();
聽聽聽聽聽聽聽聽session.beginTransaction();
聽聽聽聽聽聽聽聽Person聽p聽
=聽(Person)聽session.load(Person.class,聽personId);
聽聽聽聽聽聽聽聽Event聽e聽
=聽(Event)聽session.load(Event.class,聽eventId);
聽聽聽聽聽聽聽聽p.getEvents().add(e);//鎵ц璇ヤ唬鐮佹椂錛宧ibernate浼氬悜涓棿琛?person_event涓彃鍏erson_id鍜宔vent_id璁板綍錛屽鏋滄崲鎴?font color="#a52a2a">e.getParticipants().add(p)
鐨勮瘽錛岃浠g爜灝嗕笉浼氳鎵ц錛屽嵆hibernate涓嶄細鍚戣〃person_event涓彃鍏ヨ褰曘?br />聽聽聽聽聽聽聽聽session.getTransaction().commit();

瑕佹敞鎰忕殑涓鐐癸細鍦ㄥ弻鍚戝叧鑱旂殑鍏崇郴涓紝鏄犲皠鐨刢olumn(鍜宼able)鐨勫艱涓鑷?鍗寵鐢ㄧ浉鍚岀殑琛ㄥ悕鍜屽垪鍚?錛屼笉鐒惰緗負inverse="true"鐨勮繖鏂瑰皢澶卞幓榪欎釜鍙屽悜鍏崇郴錛岃屽彉鎴愪簡涓涓崟鍚戝叧鑱斻?br />

]]>hibernate涓璱nverse灞炴х殑涓涓緗鍒欍?/title><link>http://www.tkk7.com/wiflish/archive/2006/06/15/52955.html</link><dc:creator>鎯抽鐨勯奔</dc:creator><author>鎯抽鐨勯奔</author><pubDate>Thu, 15 Jun 2006 03:30:00 GMT</pubDate><guid>http://www.tkk7.com/wiflish/archive/2006/06/15/52955.html</guid><wfw:comment>http://www.tkk7.com/wiflish/comments/52955.html</wfw:comment><comments>http://www.tkk7.com/wiflish/archive/2006/06/15/52955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wiflish/comments/commentRss/52955.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wiflish/services/trackbacks/52955.html</trackback:ping><description><![CDATA[ <font color="#ff0000"> <b>The rules you have to remember are straightforward:聽 </b> </font> <br /> <font color="#0000ff">聽 All bi-directional associations need one side as inverse. <br />聽 In a one-to-many association it has to be the many-side, <br />聽 In many-to-many association you can pick either side, there is no difference.</font> <img src ="http://www.tkk7.com/wiflish/aggbug/52955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wiflish/" target="_blank">鎯抽鐨勯奔</a> 2006-06-15 11:30 <a href="http://www.tkk7.com/wiflish/archive/2006/06/15/52955.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>hibernate閰嶇疆灞炴bm2dll.auto鍒濇鐞嗚Вhttp://www.tkk7.com/wiflish/archive/2006/05/26/48375.html鎯抽鐨勯奔鎯抽鐨勯奔Fri, 26 May 2006 08:59:00 GMThttp://www.tkk7.com/wiflish/archive/2006/05/26/48375.htmlhttp://www.tkk7.com/wiflish/comments/48375.htmlhttp://www.tkk7.com/wiflish/archive/2006/05/26/48375.html#Feedback0http://www.tkk7.com/wiflish/comments/commentRss/48375.htmlhttp://www.tkk7.com/wiflish/services/trackbacks/48375.html1銆乿alidate錛氶獙璇乭bm2dll鏄犲皠銆?br />2銆乽pdate錛氭鏌ユ洿鏂癶bm2dll鏄犲皠銆?br />3銆乧reate錛氬厛drop鏁版嵁搴擄紝鍦╟reate鏁版嵁搴撱?br />4銆乧reate-drop錛氬厛drop鏁版嵁搴擄紝鍦╟reate鏁版嵁搴擄紝褰揝essionFactory鍏抽棴鏃訛紝鍙坉rop鏁版嵁搴撱?br />

]]>
主站蜘蛛池模板: 亚洲国产精品自在在线观看 | mm1313亚洲精品国产| 黄色毛片视频免费| 亚洲不卡av不卡一区二区| 成年午夜视频免费观看视频| 日韩在线视频免费| 亚洲人成7777影视在线观看| 又黄又爽一线毛片免费观看| 小草在线看片免费人成视久网| 亚洲av日韩av永久在线观看| 国产A在亚洲线播放| 国产美女精品视频免费观看| 性色午夜视频免费男人的天堂| 亚洲av无码一区二区三区四区 | 午夜视频在线免费观看| 精品亚洲成A人在线观看青青| 久久久久亚洲Av片无码v| 免费欧洲毛片A级视频无风险| 香蕉免费一区二区三区| 黄页视频在线观看免费| va天堂va亚洲va影视中文字幕| 日韩精品亚洲aⅴ在线影院| 国内自产拍自a免费毛片| 特级无码毛片免费视频尤物 | 一本大道一卡二大卡三卡免费| 亚洲国产人成在线观看| 国产亚洲一区二区精品| 精品国产免费观看久久久| 在线观看免费视频资源| 两个人看的www视频免费完整版| 色综合久久精品亚洲国产| 亚洲乱码一二三四区国产| 亚洲国产精品无码久久一区二区| 青青青国产色视频在线观看国产亚洲欧洲国产综合| 污视频在线观看免费| 国产精品免费久久久久久久久| 亚洲AV一区二区三区四区| 亚洲制服丝袜一区二区三区| 亚洲AV永久青草无码精品| 中文字幕亚洲日本岛国片| 亚洲av日韩av欧v在线天堂|