锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产福利片,亚洲中文久久精品无码1,精品亚洲A∨无码一区二区三区http://www.tkk7.com/ldwblog/category/41076.html鎬佸害鍐沖畾涓鍒?/description>zh-cnTue, 07 Jan 2020 10:49:39 GMTTue, 07 Jan 2020 10:49:39 GMT60涓漢鍏紬鍙楓孞ava鐖卞ソ鑰呯ぞ鍖恒嶉珮璐ㄩ噺鍘熷垱鏂囩珷鎸佺畫杈撳嚭錛屾榪庡悇浣嶅皬涓誨叧娉?/title><link>http://www.tkk7.com/ldwblog/archive/2019/10/30/434887.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Wed, 30 Oct 2019 06:10:00 GMT</pubDate><guid>http://www.tkk7.com/ldwblog/archive/2019/10/30/434887.html</guid><wfw:comment>http://www.tkk7.com/ldwblog/comments/434887.html</wfw:comment><comments>http://www.tkk7.com/ldwblog/archive/2019/10/30/434887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ldwblog/comments/commentRss/434887.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ldwblog/services/trackbacks/434887.html</trackback:ping><description><![CDATA[blogjava緗戠珯涓庡崥瀹㈠洯鍚堝茍浜嗭紝瀵筨logjava榪樻槸鏈夋劅鎯呯殑銆?br />騫朵笖blogjava緗戠珯鍙戝竷鐨勬枃绔犳槸鍦ㄥ崥瀹㈠洯棣栭〉鐪嬩笉鍒扮殑銆?br />blogjava緗戠珯棣栭〉鑳界湅鍒幫紝浣犲彲浠ョ偣鍑繪爣棰樿繘鍏ュ彲浠ョ湅鍒板浘鐗囦簩緇寸爜淇℃伅銆?br /><br /><strong style="color: red; font-size: 14pt;">Java鐖卞ソ鑰呯ぞ鍖?/strong><br />鍏紬鍙峰唴瀹圭畝浠嬶細<br /><p><span style="background-color: yellow; color: red;">涓撴敞浜庡垎浜獼ava鍚庣鐩稿叧鎶鏈佽佸徃鏈哄疄鎴樺共璐э紝涓嶉檺浜嶫VM銆佸茍鍙戙佽璁℃ā寮忋佹ц兘浼樺寲銆佸垎甯冨紡&寰湇鍔°佷簯鍘熺敓銆佸ぇ鏁版嵁鐩稿叧涓婚銆?/span><br style="color: red;" /><span style="background-color: yellow; color: red;">甯屾湜鍏蟲敞鐨勪綘鍋滀笅鑴氭錛屽畾鏈夋墍鏀惰幏銆?/span><br style="color: red;" /><br />浠ュ墠鐨勪釜浜哄崥瀹㈠唴瀹逛笉濂借縼縐伙紝鎵浠ユ垜鎵撶畻鏍規嵁鑷繁鐨勫騫寸粡楠岋紝涓嶆柇鏁寸悊杈撳嚭鏈変環鍊肩殑鍐呭銆?br />鐩墠鍏紬鍙峰唴瀹規湁鍏充簬<span style="background-color: yellow; color: red;">SpringCloud錛堝井鏈嶅姟妗嗘灦錛夈丼kywalking錛圓PM鐩戞帶璋冪敤閾撅級銆丣VM錛圙C鍒嗘瀽銆佸唴瀛樻硠婕忓垎鏋愶級銆佸茍鍙戠紪紼?/span>鐩稿叧鍘熷垱瀹炴垬鏂囩珷宸插嚭鐐夈?br /><br />鏈榪戝垰寮濮嬪凡緇忔湁涓嶅皯灝忎紮浼村叧娉ㄤ簡錛屾湡寰呰兘鏈夊垢鎼滅儲鍒版湰鍗氬鐨勫悓瀛︼紝鍙互鎵爜鍏蟲敞涓涓嬶紝涓嶈儨鎰熸縺銆?br />澶у鏈変換浣曟妧鏈佽亴鍦恒侀潰璇曚笂鐨勯棶棰橀兘鍙互涓庢垜浜ゆ祦銆?br /><br /><span style="background-color: yellow;"><strong>鏂瑰紡涓錛?/strong></span><span style="color: red; background-color: yellow;"><strong>鎵爜浠ヤ笅鍏紬鍙蜂簩緇寸爜錛?/strong></span><br /><img src="http://www.tkk7.com/images/blogjava_net/ldwblog/Java%E7%88%B1%E5%A5%BD%E8%80%85%E7%A4%BE%E5%8C%BA%E4%BA%8C%E7%BB%B4%E7%A0%81.png" border="0" alt="" /><br /><br />鏂瑰紡浜岋細<span style="color: red;">鍦ㄥ井淇′笂鐩存帴鎼滅儲錛?nbsp;</span><span style="color: red; background-color: yellow;">javatech_cbo</span><br /><br />鎰熻阿鍚勪綅灝忎紮浼寸殑鏀寔錛屽悗緇細鍦ㄨ鍏紬鍙蜂笂杈撳嚭澶ч噺鐨勬湁浠峰肩殑瀹炴垬騫茶揣 錛屾湡寰呬笌浣犱竴鍚岃繘姝ヤ笌鎴愰暱銆?br /></p><img src ="http://www.tkk7.com/ldwblog/aggbug/434887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ldwblog/" target="_blank">David1228</a> 2019-10-30 14:10 <a href="http://www.tkk7.com/ldwblog/archive/2019/10/30/434887.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Hibernate鐨凥QL澶氳〃鑱斿悎鏌ヨ浣跨敤left join鏂瑰紡http://www.tkk7.com/ldwblog/archive/2013/09/12/403983.htmlDavid1228David1228Thu, 12 Sep 2013 03:57:00 GMThttp://www.tkk7.com/ldwblog/archive/2013/09/12/403983.htmlhttp://www.tkk7.com/ldwblog/comments/403983.htmlhttp://www.tkk7.com/ldwblog/archive/2013/09/12/403983.html#Feedback2http://www.tkk7.com/ldwblog/comments/commentRss/403983.htmlhttp://www.tkk7.com/ldwblog/services/trackbacks/403983.html瑙e喅鍔炴硶錛氫嬌鐢ㄥ師鐢烻QL鎴栬呬嬌鐢℉QL鏂瑰紡闇瑕佷慨鏀筯bm鏂囦歡(濡傛灉欏圭洰涓ぇ閮ㄥ垎涓嶉傜敤綰ц仈閰嶇疆鎯呭喌涓?
闇姹傛槸鏌ヨ緗戠粶淇℃伅錛岀綉緇滀俊鎭腑鍏寵仈浜嗗垎鍖恒佺綉緇淚P(1涓綉緇滐紞錛嶏籍涓綉緇滐緝錛?錛岀綉妗ヤ俊鎭?
HQL錛?br />
public void queryVnets(Page page) {
        StringBuffer hql = new StringBuffer();
        hql.append("select new Map(vn.id as id, vn.vnName as vnName, b.name as vnType, ");
        hql.append("vn.vnIptype as vnIptype, vn.vnIp as vnIp,vn.vnNat as vnNat, vn.vnFlag as vnFlag, ");
        hql.append("vn.vnetFlag as vnetFlag, (case when sum(vmvn.state)='0' then 0 else 1 endas vnState, ");
        hql.append("vn.useType as useType, vn.createTime as createTime, ");
        hql .append("zone.oneName as oneName, zone.oneHypervisor as oneHypervisor, zone.oneSeq as oneSeq) ");
        hql.append("from VnetTable vn, ZoneTable zone, BridgeTable b ");
        hql.append("left join fetch vn.VnTables vmvn where zone.id = vn.zoneId and vn.vnType = b.id ");

        ... ...
        hql.append(" group by vn.id");
        if (vnState != null && !"".equals(vnState)) {
            if ("0".equals(vnState)) {
                hql.append(" having sum(vmvn.state)=0");
            } else if ("1".equals(vnState)) {
                hql.append(" having sum(vmvn.state)!=0");
            }
        }
    }

hbm閰嶇疆鏂囦歡錛?br />
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.base.mapping.VnetTable" table="vnet_table" >
        <id name="id" type="java.lang.String">
            <column name="ID" length="32" />
            <generator class="uuid.hex" />
        </id>
        <property name="vnId" type="java.lang.Long">
            <column name="VN_ID">
                <comment>鍒涘緩铏氭嫙緗戠粶鏃跺緱鍒扮殑ID</comment>
            </column>
        </property>
         ...
        <property name="zoneId" type="java.lang.String">
            <column name="ZONE_ID" length="32">
                <comment>鍒嗗尯ID</comment>
            </column>
        </property>
        <property name="vlanId" type="java.lang.Integer">
            <column name="VLAN_ID">
                <comment>VLAN_ID</comment>
            </column>
        </property>
        <set name="vnTables" lazy="false" order-by="id asc" inverse="false" fetch="join" cascade="all">
            <key column="VN_NID"/>
            <one-to-many class="com.base.mapping.VnTable"/>
        </set>
    </class>
</hibernate-mapping>

鐞嗚Вinverse鍜宑ascade錛屽彲浠ュ弬鑰冿細http://blog.csdn.net/wkcgy/article/details/6271321
鎬葷粨錛?nbsp;
<one-to-many>涓紝寤鴻inverse=”true”錛岀敱“many”鏂規潵榪涜鍏寵仈鍏崇郴鐨勭淮鎶?nbsp;
<many-to-many>涓紝鍙緗叾涓竴鏂筰nverse=”false”錛屾垨鍙屾柟閮戒笉璁劇疆 
Cascade錛岄氬父鎯呭喌涓嬮兘涓嶄細浣跨敤銆傜壒鍒槸鍒犻櫎錛屼竴瀹氳鎱庨噸銆?/span>
鎿嶄綔寤鴻 
  涓鑸many-to-one鍜宮any-to-many涓嶈緗駭鑱旓紝榪欒鐪嬩笟鍔¢昏緫鐨勯渶瑕?瀵筼ne-to-one鍜宱ne-to-many璁劇疆綰ц仈銆?/span>
  many-to-many鍏寵仈鍏崇郴涓紝涓绔緗甶nverse=”false”錛屽彟涓绔緗負inverse=”true”銆傚湪one-to-many鍏寵仈鍏崇郴涓紝璁劇疆inverse=”true”,鐢卞绔潵緇存姢鍏崇郴琛?/span>












David1228 2013-09-12 11:57 鍙戣〃璇勮
]]>
Mybatis3.2.1鏁村悎Spring3.1http://www.tkk7.com/ldwblog/archive/2013/07/10/401418.htmlDavid1228David1228Wed, 10 Jul 2013 10:07:00 GMThttp://www.tkk7.com/ldwblog/archive/2013/07/10/401418.htmlhttp://www.tkk7.com/ldwblog/comments/401418.htmlhttp://www.tkk7.com/ldwblog/archive/2013/07/10/401418.html#Feedback2http://www.tkk7.com/ldwblog/comments/commentRss/401418.htmlhttp://www.tkk7.com/ldwblog/services/trackbacks/401418.html闃呰鍏ㄦ枃

David1228 2013-07-10 18:07 鍙戣〃璇勮
]]>
Hibernate 鐨勬偛瑙傞攣璇存槑錛岃嚜宸卞涔犱箣鐢紝杞嚜http://blog.sina.com.cn/s/blog_49cc672f0100ar8h.htmlhttp://www.tkk7.com/ldwblog/archive/2011/03/17/346473.htmlDavid1228David1228Thu, 17 Mar 2011 08:03:00 GMThttp://www.tkk7.com/ldwblog/archive/2011/03/17/346473.htmlhttp://www.tkk7.com/ldwblog/comments/346473.htmlhttp://www.tkk7.com/ldwblog/archive/2011/03/17/346473.html#Feedback0http://www.tkk7.com/ldwblog/comments/commentRss/346473.htmlhttp://www.tkk7.com/ldwblog/services/trackbacks/346473.html

杞歡緋葷粺鐨勫茍鍙戞帶鍒朵竴鑸槸閫氳繃鍔犻攣錛堟湁涔愯閿佸拰鎮茶閿佷袱縐嶏級鏉ュ疄鐜幫紝涔愯閿佹槸涓縐嶄簨鍚庤ˉ鏁戞帾鏂斤紝鏄氳繃紼嬪簭鐨勯昏緫鎺у埗鐗堟湰鏉ュ疄鐜扮殑錛岃屾偛瑙傞攣鏄簨鍓嶇殑涓縐嶉闃叉帾鏂斤紝瀹冨埄鐢ㄦ暟鎹簱鐨勯攣鏈哄埗鏉ュ疄鐜般?/p>

铏界劧涔愯閿佽兘澶熸彁楂樼郴緇熺殑鎬ц兘錛屼絾瀹冩槸瀵瑰彂鐢熷啿紿佺殑璁塊棶榪涜浜嬪悗鐨勮ˉ鏁戯紝搴旂敤鍦ㄧ敤鎴瘋緭鍏ユ暟鎹噺寰堝皯鐨勫満鍚堟瘮杈冮傚悎錛屼絾濡傛灉鍦ㄤ紒涓?a class="infotextkey" target="_blank">ERP錛岀敤鎴蜂笌緋葷粺浜や簰娑夊強澶ч噺鏁版嵁鍦ㄩ〉闈㈣〃鍗曚笂褰曞叆錛屽鏋滀簨鍚庢彁浜ゅけ璐ュ悗鎵嶆彁紺虹敤鎴瘋閲嶆柊褰曞叆鏄緢涓嶇幇瀹炵殑錛屾墍浠ユ湁蹇呰榪涜浜嬪墠鎺у埗錛岃繖灝辮閲囩敤鎮茶閿併?br />
鍦ㄥ涓鎴風鍙兘璇誨彇鍚屼竴絎旀暟鎹垨鍚屾椂鏇存柊涓絎旀暟鎹殑鎯呭喌涓嬶紝闃叉鍚屼竴涓暟鎹淇敼鑰岄犳垚娣蜂貢錛屾渶綆鍗曠殑鎵嬫灝辨槸鍦ㄨ鍙栨椂瀵規暟鎹繘琛岄攣瀹氾紝鍏跺畠瀹㈡埛绔笉鑳藉鍚屼竴絎旀暟鎹繘琛屾洿鏂扮殑璇誨彇鍔ㄤ綔銆?/p>

涓涓吀鍨嬬殑鍊氳禆鏁版嵁搴撶殑鎮茶閿佽皟鐢細
select * from account where name=”John” for update

榪欐潯 sql 璇彞閿佸畾浜?account 琛ㄤ腑鎵鏈夌鍚堟绱㈡潯浠訛紙name=”Erica”錛夌殑璁板綍銆傛湰嬈′簨鍔℃彁浜や箣鍓嶏紙浜嬪姟鎻愪氦鏃朵細閲婃斁浜嬪姟榪囩▼涓殑閿侊級錛屽鐣屾棤娉曚慨鏀硅繖浜涜褰曘侶ibernate 鐨勬偛瑙傞攣錛屼篃鏄熀浜庢暟鎹簱鐨勯攣鏈哄埗瀹炵幇銆?br /> 涓嬮潰鐨勪唬鐮佸疄鐜頒簡瀵規煡璇㈣褰曠殑鍔犻攣錛?br /> String hqlStr ="from TUser as user where user.name='John'";
Query query = session.createQuery(hqlStr);
query.setLockMode("user",LockMode.UPGRADE); // 鍔犻攣
List userList = query.list();// 鎵ц鏌ヨ錛岃幏鍙栨暟鎹?/font>

query.setLockMode 瀵規煡璇㈣鍙ヤ腑錛岀壒瀹氬埆鍚嶆墍瀵瑰簲鐨勮褰曡繘琛屽姞閿侊紙鎴戜滑涓篢User 綾繪寚瀹氫簡涓涓埆鍚?“user” 錛夛紝榪欓噷涔熷氨鏄榪斿洖鐨勬墍鏈?user 璁板綍榪涜鍔犻攣銆?br /> 瑙傚療榪愯鏈?Hibernate 鐢熸垚鐨?SQL 璇彞錛?br /> select tuser0_.id as id, tuser0_.name as name, tuser0_.group_id
as group_id, tuser0_.user_type as user_type, tuser0_.sex as sex
from t_user tuser0_ where (tuser0_.name='John' ) for update

榪欓噷 Hibernate 閫氳繃浣跨敤鏁版嵁搴撶殑 for update 瀛愬彞瀹炵幇浜嗘偛瑙傞攣鏈哄埗銆?br /> Hibernate 鐨勫姞閿佹ā寮忔湁錛?br /> LockMode.NONE 錛?/strong> 鏃犻攣鏈哄埗銆?br /> LockMode.WRITE 錛?/strong> Hibernate 鍦?Insert 鍜?Update 璁板綍鐨勬椂鍊欎細鑷姩鑾峰彇銆?br /> LockMode.READ 錛?/strong> Hibernate 鍦ㄨ鍙栬褰曠殑鏃跺欎細鑷姩鑾峰彇銆?br /> 浠ヤ笂榪欎笁縐嶉攣鏈哄埗涓鑸敱 Hibernate 鍐呴儴浣跨敤錛屽 Hibernate 涓轟簡淇濊瘉 Update榪囩▼涓璞′笉浼氳澶栫晫淇敼錛屼細鍦?save 鏂規硶瀹炵幇涓嚜鍔ㄤ負鐩爣瀵硅薄鍔犱笂 WRITE 閿併?br /> LockMode.UPGRADE 錛?/strong>鍒╃敤鏁版嵁搴撶殑 for update 瀛愬彞鍔犻攣銆?br /> LockMode. UPGRADE_NOWAIT 錛?/strong> Oracle 鐨勭壒瀹氬疄鐜幫紝鍒╃敤 Oracle 鐨?for update nowait 瀛愬彞瀹炵幇鍔犻攣銆?br /> 涓婇潰榪欎袱縐嶉攣鏈哄埗鏄垜浠湪搴旂敤灞傝緝涓哄父鐢ㄧ殑錛屽姞閿佷竴鑸氳繃浠ヤ笅鏂規硶瀹炵幇錛?br /> Criteria.setLockMode
Query.setLockMode
Session.lock

娉ㄦ剰錛屽彧鏈夊湪鏌ヨ寮濮嬩箣鍓嶏紙涔熷氨鏄?Hiberate 鐢熸垚 SQL 涔嬪墠錛夎瀹氬姞閿侊紝鎵嶄細鐪熸閫氳繃鏁版嵁搴撶殑閿佹満鍒惰繘琛屽姞閿佸鐞嗭紝鍚﹀垯錛屾暟鎹凡緇忛氳繃涓嶅寘鍚?for update 瀛愬彞鐨?Select SQL 鍔犺澆榪涙潵錛屾墍璋撴暟鎹簱鍔犻攣涔熷氨鏃犱粠璋堣搗銆?br />



David1228 2011-03-17 16:03 鍙戣〃璇勮
]]>
鍦℉ibernate涓紝瀵硅薄鏈変笁縐嶇姸鎬?/title><link>http://www.tkk7.com/ldwblog/archive/2010/08/16/328954.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Mon, 16 Aug 2010 01:59:00 GMT</pubDate><guid>http://www.tkk7.com/ldwblog/archive/2010/08/16/328954.html</guid><wfw:comment>http://www.tkk7.com/ldwblog/comments/328954.html</wfw:comment><comments>http://www.tkk7.com/ldwblog/archive/2010/08/16/328954.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ldwblog/comments/commentRss/328954.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ldwblog/services/trackbacks/328954.html</trackback:ping><description><![CDATA[鍦℉ibernate涓紝瀵硅薄鏈変笁縐嶇姸鎬侊細涓存椂鐘舵併佹寔涔呯姸鎬佸拰娓哥鐘舵併? <p> <wbr> <wbr> <wbr> <wbr> <wbr><font color="#ff0000"><strong> <wbr>涓存椂鐘舵?/strong></font>錛氬綋new涓涓疄浣撳璞″悗錛岃繖涓璞″浜庝復鏃剁姸鎬侊紝鍗寵繖涓璞″彧鏄竴涓繚瀛樹復鏃舵暟鎹殑鍐呭瓨鍖哄煙錛屽鏋滄病鏈夊彉閲忓紩鐢ㄨ繖涓璞★紝鍒欎細琚玧re鍨冨溇鍥炴敹鏈哄埗鍥炴敹銆傝繖涓璞℃墍淇濆瓨鐨勬暟鎹笌鏁版嵁搴撴病鏈変換浣曞叧緋伙紝闄ら潪閫氳繃Session鐨剆ave鎴栬匰aveOrUpdate鎶婁復鏃跺璞′笌鏁版嵁搴撳叧鑱旓紝騫舵妸鏁版嵁鎻掑叆鎴栬呮洿鏂板埌鏁版嵁搴擄紝榪欎釜瀵硅薄鎵嶈漿鎹負鎸佷箙瀵硅薄銆?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>渚嬪錛欵mp e=new Emp(); <wbr> <wbr> <wbr> //鍒涘緩涓存椂瀵硅薄 <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> e.setEmpno((long) 8888); <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>e.setEName("mike"); <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>... <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>EmpDAO d=new EmpDAO(); <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>d.save(e);//鎸佷箙鍖?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>...</p> <p><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <font color="#ff0000"><strong>鎸佷箙鐘舵?/strong></font>: 鎸佷箙鍖栧璞$殑瀹炰緥鍦ㄦ暟鎹簱涓湁瀵瑰簲鐨勮褰曪紝騫舵嫢鏈変竴涓寔涔呭寲琛ㄧず錛圛D錛夈傚鎸佷箙鍖栧璞¤繘琛宒elete鎿嶄綔鍚庯紝鏁版嵁搴撲腑瀵瑰簲鐨勮褰曞皢琚垹闄わ紝閭d箞鎸佷箙鍖栧璞′笌鏁版嵁搴撹褰曚笉鍐嶅瓨鍦ㄥ搴斿叧緋伙紝鎸佷箙鍖栧璞″彉鎴愪復鏃剁姸鎬併?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>鎸佷箙鍖栧璞¤淇敼鍙樻洿鍚庯紝涓嶄細椹笂鍚屾鍒版暟鎹簱錛岀洿鍒版暟鎹簱浜嬪姟鎻愪氦銆傚湪鍚屾涔嬪墠錛屾寔涔呭寲瀵硅薄鏄剰鐨勶紙Dirty錛夈?br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> 渚嬪錛?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>Emp e=new Emp(); //鍒涘緩浜嗕復鏃剁殑瀵硅薄 <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>EmpDAO edao= new empDAO(); <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>e=edao.findbyEmpno((long) 7786); <wbr> <wbr> <wbr> //浣垮璞′笌鏁版嵁搴撹褰曞搴旓紝浠庤屾寔涔呭寲 <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>e.setEname("鏂扮殑鍚嶅瓧"); <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> //淇敼浜嗘寔涔呭寲瀵硅薄錛屼嬌涔嬪浜?Dirty <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>...... <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>edao.saveorupdate(e); <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> //淇濆瓨錛屼絾鏄粛鐒?Dirty <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>tran.commit(); <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> //鎻愪氦錛屽疄鐜頒笌鏁版嵁搴撳悓姝ワ紝涓嶅啀Dirty <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>......</p> <p> <wbr></p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><font color="#ff0000"><strong> <wbr>娓哥鐘舵?/strong></font>錛氬綋Session榪涜浜咰lose銆丆lear鎴栬卐vict鍚庯紝鎸佷箙鍖栧璞¤櫧鐒舵嫢鏈夋寔涔呭寲鏍囪瘑絎﹀拰涓庢暟鎹簱瀵瑰簲璁板綍涓鑷寸殑鍊鹼紝浣嗘槸鍥犱負浼氳瘽宸茬粡娑堝け錛屽璞′笉鍦ㄦ寔涔呭寲綆$悊涔嬪唴錛屾墍浠ュ浜庢父紱葷姸鎬侊紙涔熷彨錛氳劚綆$姸鎬侊級銆傛父紱葷姸鎬佺殑瀵硅薄涓庝復鏃剁姸鎬佸璞℃槸鍗佸垎鐩鎬技鐨勶紝鍙槸瀹冭繕鍚湁鎸佷箙鍖栨爣璇嗐?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>鍏朵腑錛屾寔涔呭寲鐘舵佺殑瀵硅薄錛岀畝縐頒負錛歅O <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>鑰屼復鏃剁姸鎬佸拰娓哥鐘舵佺殑瀵硅薄錛岀畝縐頒負錛歏O</p> <p><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>1銆侀氳繃get()鎴杔oad()鏂規硶寰楀埌鐨勫疄渚嬮兘鏄寔涔呭寲鐘舵佺殑銆?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>2銆佸綋鎶妔ession鍏抽棴鏃訛紝session緙撳瓨涓殑鎸佷箙鍖栧璞′篃鍙樻垚娓哥鎬?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> 鍥犲叧闂璼ession鑰屽彉鎴愭父紱繪佺殑鍙互閫氳繃lock銆乻ave銆乽pdate鍙樻垚鎸佷箙鎬?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> 3銆佹寔涔呮佸疄渚嬪彲浠ラ氳繃璋冪敤delete()鍙樻垚娓哥鎬?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>鑰屾父紱葷姸鎬佺殑瀹炰緥鍙互閫氳繃璋冪敤lock()鎴栬卹eplicate()榪涜鎸佷箙鍖?nbsp;<wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>4銆乻ave()鍜宲ersist()灝嗕細寮曞彂SQL鐨刬nsert錛宒elete()浼氬紩鍙慡QL鐨刣elete <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>update()鎴杕erge()浼氬紩鍙慡QL鐨剈pdate錛屽鎸佷箙鍖栧疄渚嬬殑淇敼鍦ㄥ埛鏂版彁浜ょ殑鏃跺欎細</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>  <wbr>琚嫻嬪埌, 瀹冧細寮曞彂SQL鐨剈pdate <wbr><br />  <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>  <wbr>saveOrUpdate()鎴栬卹eplicate ()浼氬紩鍙慡QL鐨刬nsert鎴栬卽pdate</p> <img src ="http://www.tkk7.com/ldwblog/aggbug/328954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ldwblog/" target="_blank">David1228</a> 2010-08-16 09:59 <a href="http://www.tkk7.com/ldwblog/archive/2010/08/16/328954.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁版嵁搴撹〃涓畾涔夋暟鎹被鍨嬩笌Hibernate涓幏鍙栧兼柟寮?/title><link>http://www.tkk7.com/ldwblog/archive/2009/08/31/293332.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Mon, 31 Aug 2009 08:26:00 GMT</pubDate><guid>http://www.tkk7.com/ldwblog/archive/2009/08/31/293332.html</guid><wfw:comment>http://www.tkk7.com/ldwblog/comments/293332.html</wfw:comment><comments>http://www.tkk7.com/ldwblog/archive/2009/08/31/293332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ldwblog/comments/commentRss/293332.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ldwblog/services/trackbacks/293332.html</trackback:ping><description><![CDATA[     鎽樿: province_code-----Char(2) --銆婥haracter cert-----Clob 綾誨瀷 ---銆婼erializableClob certstate------Number綾誨瀷 --銆婤igDecimal    usercode------Varchar2綾誨瀷 ---銆婼tring addtime ---...  <a href='http://www.tkk7.com/ldwblog/archive/2009/08/31/293332.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/ldwblog/aggbug/293332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ldwblog/" target="_blank">David1228</a> 2009-08-31 16:26 <a href="http://www.tkk7.com/ldwblog/archive/2009/08/31/293332.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>HibernateDAO瀹炵幇綾?鏌ヨList鏂規硶http://www.tkk7.com/ldwblog/archive/2009/08/20/291937.htmlDavid1228David1228Thu, 20 Aug 2009 05:37:00 GMThttp://www.tkk7.com/ldwblog/archive/2009/08/20/291937.htmlhttp://www.tkk7.com/ldwblog/comments/291937.htmlhttp://www.tkk7.com/ldwblog/archive/2009/08/20/291937.html#Feedback0http://www.tkk7.com/ldwblog/comments/commentRss/291937.htmlhttp://www.tkk7.com/ldwblog/services/trackbacks/291937.html public List<CertInfoListView> getInfoList(CertInfoListView view) throws DAOException {
  List<CertInfoListView>  liinfo = new ArrayList<CertInfoListView>();
  String sql="select b.usercode,b.agentcode,i.sn,i.cert,i.certstate,i.endtime, i.ipasskeyno,b.id,b.addtime  from certbind b inner join certinfo i on b.ipasskeyno=i.ipasskeyno";
  Session session = HibernateTemplate.getInstance().getSession();
  StringBuffer sb = new StringBuffer(sql);
  sb.append(" where 1=1 ");
  if(!CheckEmpty.isEmpty(view.getIpasskeyno())){
   sb.append(" and i.ipasskeyno ='").append(view.getIpasskeyno()).append("'");
  }
  if(!CheckEmpty.isEmpty(view.getAgentcode())){
   sb.append(" and b.agentcode ='").append(view.getAgentcode()).append("'");
  }
  if(!CheckEmpty.isEmpty(view.getSn())){
   sb.append(" and i.sn ='").append(view.getSn()).append("'");
  }
  if(!CheckEmpty.isEmpty(view.getUsercode())){
   sb.append(" and b.usercode ='").append(view.getUsercode()).append("'");
  }
  if(view.getAddtime()!=null){
   sb.append(" and b.addtime=").append(view.getAddtime());
  }
  sb.append(" order by ipasskeyno ,addtime desc");
  Query q = session.createSQLQuery(sb.toString());
  int pageno = view.getPageno();
  int size = view.getPagesize();
  if(pageno!=0&&size!=0){
   q.setFirstResult((pageno-1)*size);
   q.setMaxResults(size);
  }
  List list = q.list();
  Iterator it = list.iterator();
  while(it.hasNext()){
   Object[] obj = (Object[])it.next();
   CertInfoListView c = new CertInfoListView();
   for(int i=0;i<obj.length;i++){
    if(!CheckEmpty.isEmpty((String)obj[0])){
     c.setUsercode((String)obj[0]);
    }
    if(!CheckEmpty.isEmpty((String)obj[1])){
     c.setAgentcode((String)obj[1]);
    }
    if(!CheckEmpty.isEmpty((String)obj[2])){
     c.setSn((String)obj[2]);
    }
    if(obj[3]!=null){
     SerializableClob sc = (SerializableClob)obj[3];
     String cc = null;
     if(sc!=null){
      try {
       cc = sc.getSubString(1, (int)sc.length());
      } catch (SQLException e) {
      }
     }
     if(cc!=null)c.setCert(cc);
    }
    if(obj[4]!=null){
     BigDecimal b = (BigDecimal)obj[4];
     c.setCertstate(b.intValue());
    }
    if((obj[5])!=null){
     c.setEndtime(((Date)obj[5]));
    }
    if(!CheckEmpty.isEmpty((String)obj[6])){
     c.setIpasskeyno((String)obj[6]);
    }
    c.setCertbindid(Integer.parseInt((String)obj[7]));
    c.setAddtime((Date)obj[8]);
   }
   liinfo.add(c);
  }
  if(session!=null&&session.isConnected())session.close();
  return liinfo;
 }


瀹炵幇鍒嗛〉鐨凞AO
/*
  * (non-Javadoc)
  *
  * @see com.cns.certservice.dao.CertBindTabDao#getCertBindList(com.cns.certservice.vo.CertBindView)
  */
 public List<CertBindView> getCertBindList(CertBindView view)
   throws DAOException {
  List<CertBindView> li = null;
  List<Certbind> lic = null;
  Session session = null;
  try {
   session = HibernateTemplate.getInstance().getSession();
   Criteria cri = session.createCriteria(Certbind.class);
   Certbind c = getCertBind(view);
   if (c.getAddtime() != null) {
    cri.add(Expression.eq("addtime", c.getAddtime()));
   }
   if (!CheckEmpty.isEmpty(c.getAgentcode())) {
    cri.add(Expression.eq("agentcode", c.getAgentcode()));
   }
   if(c.getId()!=0)cri.add(Expression.eq("id", c.getId()));
   if (!CheckEmpty.isEmpty(c.getIpasskeyno())) {
    cri.add(Expression.eq("ipasskeyno", c.getIpasskeyno()));
   }
   if (!CheckEmpty.isEmpty(c.getUsercode())) {
    cri.add(Expression.eq("usercode", c.getUsercode()));
   }
   if (!CheckEmpty.isEmpty(c.getExtend1())) {
    cri.add(Expression.eq("extend1", c.getExtend1()));
   }
   if (!CheckEmpty.isEmpty(c.getExtend2())) {
    cri.add(Expression.eq("extend2", c.getExtend2()));
   }
   if (c.getAgenttype() != 0) {
    cri.add(Expression.eq("agenttype", c.getAgenttype()));
   }
   int pageno = view.getPageno();
   int size = view.getPagesize();
   if(pageno!=0&&size!=0){
    cri.setFirstResult((pageno-1)*size);
    cri.setMaxResults(size);
   }
   lic = cri.list();
   if (lic != null) {
    li = new ArrayList<CertBindView>();
    for (Certbind cer : lic) {
     CertBindView v = getCertBindView(cer);
     li.add(v);
    }
   }
   
  } catch (HibernateException e) {
   log.error(e,e);
   throw new DAOException(e);
  }finally{
   if (session != null && session.isConnected())
    session.close();
  }
  return li;
 }
 public int getInfoListCount(CertBindView view) throws DAOException {
  int count = 0;
  Session session = null;
  try {
   session = HibernateTemplate.getInstance().getSession();
   Criteria cri = session.createCriteria(Certbind.class);
   Certbind c = getCertBind(view);
   if (c.getAddtime() != null) {
    cri.add(Expression.eq("addtime", c.getAddtime()));
   }
   if (!CheckEmpty.isEmpty(c.getAgentcode())) {
    cri.add(Expression.eq("agentcode", c.getAgentcode()));
   }
   if(c.getId()!=0)cri.add(Expression.eq("id", c.getId()));
   if (!CheckEmpty.isEmpty(c.getIpasskeyno())) {
    cri.add(Expression.eq("ipasskeyno", c.getIpasskeyno()));
   }
   if (!CheckEmpty.isEmpty(c.getUsercode())) {
    cri.add(Expression.eq("usercode", c.getUsercode()));
   }
   if (!CheckEmpty.isEmpty(c.getExtend1())) {
    cri.add(Expression.eq("extend1", c.getExtend1()));
   }
   if (!CheckEmpty.isEmpty(c.getExtend2())) {
    cri.add(Expression.eq("extend2", c.getExtend2()));
   }
   if (c.getAgenttype() != 0) {
    cri.add(Expression.eq("agenttype", c.getAgenttype()));
   }
   count = (Integer)cri.setProjection(Projections.rowCount()).uniqueResult();
   cri.setProjection(null);
  } catch (HibernateException e) {
   log.error(e,e);
   throw new DAOException(e);
  }finally{
   if (session != null && session.isConnected())
    session.close();
  }
  return count;
 }

/*
  * (non-Javadoc)
  *
  * @see com.cns.certservice.dao.CertBindTabDao#updateCertBind(com.cns.certservice.vo.CertBindView)
  */
 public boolean updateCertBind(CertBindView view) throws DAOException {
  boolean res = false;
  if (view.getId()==0) {
   throw new DAOException("getId from CertBindView is null!");
  }
  Session session= null;
  try {
   session = HibernateTemplate.getInstance().getSession();
   Certbind c = (Certbind) session.get(Certbind.class, view.getId());
   if (!CheckEmpty.isEmpty(view.getAgentcode()))
    c.setAgentcode(view.getAgentcode());
   if (!CheckEmpty.isEmpty(view.getExtend1()))
    c.setExtend1(view.getExtend1());
   if (!CheckEmpty.isEmpty(view.getExtend2()))
    c.setExtend2(view.getExtend2());
   if (!CheckEmpty.isEmpty(view.getIpasskeyno()))
    c.setIpasskeyno(view.getIpasskeyno());
   if (!CheckEmpty.isEmpty(view.getUsercode()))
    c.setUsercode(view.getUsercode());
   if (view.getAgenttype() != 0)
    c.setAgenttype(view.getAgenttype());
   res = HibernateTemplate.getInstance().updateObject(c);
  } catch (HibernateException e) {
   log.error(e,e);
   throw new DAOException(e);
  }finally{
   if (session != null && session.isConnected())
    session.close();
  }
  return res;
 }


 private Certbind getCertBind(CertBindView view) {
  Certbind c = new Certbind();
  if (view.getAddtime() != null)
   c.setAddtime(view.getAddtime());
  if (!CheckEmpty.isEmpty(view.getAgentcode()))
   c.setAgentcode(view.getAgentcode());
  if (!CheckEmpty.isEmpty(view.getExtend1()))
   c.setExtend1(view.getExtend1());
  if (!CheckEmpty.isEmpty(view.getExtend2()))
   c.setExtend2(view.getExtend2());
  if (!CheckEmpty.isEmpty(view.getIpasskeyno()))
   c.setIpasskeyno(view.getIpasskeyno());
  if (!CheckEmpty.isEmpty(view.getUsercode()))
   c.setUsercode(view.getUsercode());
  if(view.getId()!=0)c.setId(view.getId());
  if (view.getAgenttype() != 0)
   c.setAgenttype(view.getAgenttype());
  return c;
 }

 private CertBindView getCertBindView(Certbind view) {
  CertBindView c = new CertBindView();
  if (view.getAddtime() != null)
   c.setAddtime(view.getAddtime());
  if (!CheckEmpty.isEmpty(view.getAgentcode()))
   c.setAgentcode(view.getAgentcode());
  if (!CheckEmpty.isEmpty(view.getExtend1()))
   c.setExtend1(view.getExtend1());
  if (!CheckEmpty.isEmpty(view.getExtend2()))
   c.setExtend2(view.getExtend2());
  if (!CheckEmpty.isEmpty(view.getIpasskeyno()))
   c.setIpasskeyno(view.getIpasskeyno());
  if (!CheckEmpty.isEmpty(view.getUsercode()))
   c.setUsercode(view.getUsercode());
  if(view.getId()!=0)c.setId(view.getId());
  if (view.getAgenttype() != 0)
   c.setAgenttype(view.getAgenttype());
  return c;
 }



David1228 2009-08-20 13:37 鍙戣〃璇勮
]]>
HibernateTemplate澧炴敼鍒犳煡鏂規硶http://www.tkk7.com/ldwblog/archive/2009/08/20/291932.htmlDavid1228David1228Thu, 20 Aug 2009 05:22:00 GMThttp://www.tkk7.com/ldwblog/archive/2009/08/20/291932.htmlhttp://www.tkk7.com/ldwblog/comments/291932.htmlhttp://www.tkk7.com/ldwblog/archive/2009/08/20/291932.html#Feedback0http://www.tkk7.com/ldwblog/comments/commentRss/291932.htmlhttp://www.tkk7.com/ldwblog/services/trackbacks/291932.htmlpackage com.cns.certservice.dao.impl;

import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import com.cns.certservice.exception.DAOException;


public class HibernateTemplate {

    private HibernateTemplate() {

    }

    /**
     * static final session factory
     */
    private static SessionFactory sessionFactory = null;

    /**
     * local thread variable used for storing share session instance
     */
    private static final ThreadLocal localSession = new ThreadLocal();

    /**
     * log4j logger
     */
    private static final Logger logger = Logger
            .getLogger(HibernateTemplate.class);
    /**
     * use JTA transaction
     */
    /**
     * 璇ュ伐鍏峰敮涓瀹炰緥銆?br />      */
    private static HibernateTemplate instance = null;
    private static Transaction tx = null;
    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
    private static final Configuration cfg = new Configuration();
    /** Holds a single instance of Session */
    private static final ThreadLocal threadLocal = new ThreadLocal();

    /**
     * 鑾峰彇鎸佷箙宸ュ叿鐨勫敮涓瀹炰緥錛屼互鍚庝笉鏄嬌鐢ㄥ崟瀹炰緥妯″紡錛岃屼笉鏄噰鐢ㄥ璞℃睜鏀寔銆?br />      * @return銆PersistentTool
     * @throws BaseException
     */
    public synchronized static HibernateTemplate getInstance() {
        if (instance == null) {
            instance = new HibernateTemplate();
            instance.initHibernate();
        }
        return instance;
    }

    /**
     * 瀹炵幇Hibernate鐨勫垵濮嬪寲閰嶇疆鐜銆?br />      */
    public void initHibernate() {
        try {
            //姝ゅ浠庣郴緇熻礬寰勪腑鑾峰彇閰嶇疆鏂囦歡
            cfg.configure(CONFIG_FILE_LOCATION);
        } catch (HibernateException ex) {
            ex.printStackTrace();
        }
        try {
            // 瑁呰澆閰嶇疆錛屾瀯閫燬essionFactory瀵硅薄
            sessionFactory = cfg.buildSessionFactory();
        } catch (HibernateException e) {
            e.printStackTrace();
        }
    }

    /**
     * Get the share session
     * @
     * @return Session share session
     */
    public  Session getSession() {
        logger.debug("Now enter into getSession method of DaoUtil");
        //obtain share session
        Session session = (Session) localSession.get();
        try {
            if (session == null||!session.isOpen()) {
                //get session by session factory
                session = sessionFactory.openSession();
                localSession.set(session);
            }
        } catch (HibernateException ex) {
            ex.printStackTrace();

        }
        return session;
    }

    /**
     * Close share session
     * @
     */
    public  void close() {
        logger.debug("Now enter into closeSessionl");
        //obtain share session
        Session session = (Session) localSession.get();
        localSession.set(null);
        if (session != null) {
            try {
                session.flush();
                session.close();
            } catch (HibernateException ex) {
                ex.printStackTrace();

            }
        }
    }

    /**
     * Begin JTA transaction
     * @
     */
    public  void beginTransaction() {
        logger.debug("Now enter into beginTransaction");
        try {
            Session session = (Session) localSession.get();
            tx = session.beginTransaction();
        } catch (Exception ex) {
            ex.printStackTrace();

        }
    }

    /**
     * Commit transaction
     * @
     */
    public  void commitTransaction() {
        try {
            tx.commit();
        } catch (Exception ex) {
            ex.printStackTrace();

        }
    }

    /**
     * Rollback transaction when breaching ACID operation
     * @
     */
    public  void rollbackTransaction() {
        try {
            tx.rollback();
        } catch (Exception ex) {
            ex.printStackTrace();

        }
    }

    /**
     * Insert a record into table
     * @param obj Object
     * @throws DAOException
     * @
     */
    public  int insertObject(Object obj) throws DAOException {
     int res = 0;
        logger.debug("Now enter into insertObject");
        //obtain current share session
        try {
            Session session = HibernateTemplate.getInstance().getSession();
            beginTransaction();
            Object robj = session.save(obj);
            if (robj instanceof Integer) {
    res = (Integer) robj;
   }
            if (robj instanceof String) {
    res =1;
   }
            session.flush();
        } catch (HibernateException ex) {
            rollbackTransaction();
            logger.error("insertObject error:", ex);
            throw new DAOException(ex);
        } finally {
            commitTransaction();
            close();
        }
        return res;
    }


    /**
     * Delete a record of database table by Hibernate po object
     * @param obj Object
     * @throws DAOException
     * @
     */
    public  boolean deleteObject(Object obj) throws DAOException {
     boolean res = false;
        logger.debug("Now enter into deleteObject method");
        //obtain current share session
        try {
            Session session = HibernateTemplate.getInstance().getSession();
            beginTransaction();
            session.delete(obj);
            session.flush();
            res = true;
        } catch (HibernateException ex) {
            rollbackTransaction();
            logger.error("deleteObject error:", ex);
            throw new DAOException(ex);
        } finally {
            commitTransaction();
            close();
        }
        return res;
    }


    /**
     * Update a record of database table
     * @param ob Object
     * @throws DAOException
     * @
     */
    public  boolean updateObject(Object ob) throws DAOException {
     boolean res = false;
        logger.debug("Now enter into updateObject");
        //obtain current share session
        try {
            Session session = HibernateTemplate.getInstance().getSession();
            beginTransaction();
            session.update(ob);
            session.flush();
            res= true;
        } catch (HibernateException ex) {
         rollbackTransaction();
          logger.error("updateObject error:", ex);
          throw new DAOException(ex);
        } finally {
            commitTransaction();
            close();
        }
        return res;
    }
}



David1228 2009-08-20 13:22 鍙戣〃璇勮
]]>
struts1+hibernate鍒嗛〉渚嬪瓙http://www.tkk7.com/ldwblog/archive/2009/08/17/291502.htmlDavid1228David1228Mon, 17 Aug 2009 07:15:00 GMThttp://www.tkk7.com/ldwblog/archive/2009/08/17/291502.html

David1228 2009-08-17 15:15 鍙戣〃璇勮
]]>
Hibernate鍒涘緩鏁版嵁搴撹〃錛堜竴瀵逛竴and涓瀵瑰錛?http://www.tkk7.com/ldwblog/archive/2008/12/15/246428.htmlDavid1228David1228Mon, 15 Dec 2008 07:44:00 GMThttp://www.tkk7.com/ldwblog/archive/2008/12/15/246428.html闃呰鍏ㄦ枃

David1228 2008-12-15 15:44 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 黄色网站软件app在线观看免费| 青青视频观看免费99| 亚洲最新视频在线观看| 69成人免费视频| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 全部一级一级毛片免费看| 亚洲人成亚洲人成在线观看| 69av免费观看| 色婷婷亚洲一区二区三区| 国产v亚洲v天堂无码网站| 最近中文字幕无吗免费高清| 人人爽人人爽人人片av免费| 亚洲av无码成h人动漫无遮挡| 成年人免费观看视频网站| 插鸡网站在线播放免费观看| 亚洲乱码一二三四五六区| 亚洲黄片毛片在线观看| 国产精品成人观看视频免费| 永久免费观看黄网站| 亚洲av乱码一区二区三区| 亚洲日产韩国一二三四区| 免费无码又黄又爽又刺激| 99在线热播精品免费99热| 亚洲日韩国产AV无码无码精品| 精品国产亚洲一区二区三区| 香蕉高清免费永久在线视频| 日本不卡免费新一区二区三区| 亚洲av片在线观看| 亚洲欧洲校园自拍都市| 日本亚洲视频在线| 免费在线观看亚洲| 国产精品视频永久免费播放| 青青青国产手机频在线免费观看| 国产在亚洲线视频观看| 亚洲国产成人久久| 久久夜色精品国产嚕嚕亚洲av| 亚洲av高清在线观看一区二区| 国产无人区码卡二卡三卡免费 | 免费观看午夜在线欧差毛片| 在线看免费观看AV深夜影院| 三年片在线观看免费西瓜视频|