瀵瑰師鐢烻QL鏌ヨ鎵ц鐨勬帶鍒舵槸閫氳繃SQLQuery鎺ュ彛榪涜鐨勶紝閫氳繃鎵цSession.createSQLQuery()鑾峰彇榪欎釜鎺ュ彛銆傛渶綆鍗曠殑鎯呭喌涓嬶紝鎴戜滑鍙互閲囩敤浠ヤ笅褰㈠紡錛?/font>
List cats = sess.createSQLQuery("select * from cats") .addEntity(Cat.class) .list();
榪欎釜鏌ヨ鎸囧畾浜?
SQL鏌ヨ瀛楃涓?/font>
鏌ヨ榪斿洖鐨勫疄浣?/font>
榪欓噷錛岀粨鏋滈泦瀛楁鍚嶈鍋囪涓轟笌鏄犲皠鏂囦歡涓寚鏄庣殑瀛楁鍚嶇浉鍚屻傚浜庤繛鎺ヤ簡澶氫釜琛ㄧ殑鏌ヨ錛岃繖灝卞彲鑳介犳垚闂錛屽洜涓哄彲鑳藉湪澶氫釜琛ㄤ腑鍑虹幇鍚屾牱鍚嶅瓧鐨勫瓧孌點備笅闈㈢殑鏂規硶灝卞彲浠ラ伩鍏嶅瓧孌靛悕閲嶅鐨勯棶棰?
List cats = sess.createSQLQuery("select {cat.*} from cats cat") .addEntity("cat", Cat.class) .list();
榪欎釜鏌ヨ鎸囧畾浜?
SQL鏌ヨ璇彞錛屽畠甯︿竴涓崰浣嶇錛屽彲浠ヨHibernate浣跨敤瀛楁鐨勫埆鍚?
鏌ヨ榪斿洖鐨勫疄浣擄紝鍜屽畠鐨凷QL琛ㄧ殑鍒悕.
addEntity()鏂規硶灝哠QL琛ㄧ殑鍒悕鍜屽疄浣撶被鑱旂郴璧鋒潵錛屽茍涓旂‘瀹氭煡璇㈢粨鏋滈泦鐨勫艦鎬併?
addJoin()鏂規硶鍙互琚敤浜庤澆鍏ュ叾浠栫殑瀹炰綋鍜岄泦鍚堢殑鍏寵仈.
List cats = sess.createSQLQuery( "select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id" ) .addEntity("cat", Cat.class) .addJoin("kitten", "cat.kittens") .list();
鍘熺敓鐨凷QL鏌ヨ鍙兘榪斿洖涓涓畝鍗曠殑鏍囬噺鍊兼垨鑰呬竴涓爣閲忓拰瀹炰綋鐨勭粨鍚堜綋銆?
Double max = (Double) sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat") .addScalar("maxWeight", Hibernate.DOUBLE); .uniqueResult();
闄ゆ涔嬪錛屼綘榪樺彲浠ュ湪浣犵殑hbm鏂囦歡涓弿榪扮粨鏋滈泦鏄犲皠淇℃伅錛屽湪鏌ヨ涓嬌鐢ㄣ?/font>
List cats = sess.createSQLQuery( "select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id" ) .setResultSetMapping("catAndKitten") .list();
鍙互鍦ㄦ槧灝勬枃妗d腑瀹氫箟鏌ヨ鐨勫悕瀛?鐒跺悗灝卞彲浠ヨ薄璋冪敤涓涓懡鍚嶇殑HQL鏌ヨ涓鏍風洿鎺ヨ皟鐢ㄥ懡鍚峉QL鏌ヨ.鍦ㄨ繖縐嶆儏鍐典笅,鎴戜滑涓?/em> 闇瑕佽皟鐢?tt class="literal">addEntity()鏂規硶.
<sql-query name="persons"> <return alias="person" class="eg.Person"/> SELECT person.NAME AS {person.name}, person.AGE AS {person.age}, person.SEX AS {person.sex} FROM PERSON person WHERE person.NAME LIKE :namePattern </sql-query>
List people = sess.getNamedQuery("persons") .setString("namePattern", namePattern) .setMaxResults(50) .list();聽 榪欓噷瑕佺壒鍒殑鎻愰啋涓涓嬪ぇ瀹跺崈涓囦笉瑕佹妸涓婚敭蹇樹簡銆傚垰寮濮嬫垜灝卞繕浜嗕富閿紝鍚庢潵璋冭瘯浜嗗崐澶╂墠鎵懼嚭鍘熷洜鏉ャ?br />
鎴戣寰楄繖縐嶅彂寮忔瘮杈冨ソ銆傝繖鏍峰啓鍑烘潵鐨剆ql鍙互寰堟暣榻愩傛垜浠殑鏁版嵁搴撲嬌鐢ㄧ殑鏄痮racle錛屼笉榪囨寜鐓ц繖涓婇潰鐨勫啓娉曞彂鐜皊ql璇彞鏈夐敊璇?br />鍚庢潵鎷垮埌鎺у埗鍙版墽琛屼篃鎶遍敊銆傚洜涓哄師鏉ラ兘鐢╯qlserver錛岃宻qlserver閮芥槸鍙互鐨勩傚悗鏉ュ彂鐜版槸琛ㄤ笉鑳芥湁鍒悕鏀規垚榪欐牱灝卞ソ浜嗐?br />聽聽聽聽聽聽聽聽聽聽聽聽SELECT聽T_PAY.sys_id聽as聽{pay.sysId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.sys_flag聽as聽{pay.sysFlag},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.sys_domain聽as聽{pay.sysDomain},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.sys_owner聽as聽{pay.sysOwner},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.sys_create_date聽as聽{pay.sysCreateDate},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.sys_update_date聽as聽{pay.sysUpdateDate},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.pay_id聽as聽{pay.payId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.pay_name聽as聽{pay.payName},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.pay_type_id聽as聽{pay.payTypeId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.pay_date聽as聽{pay.payDate},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.money_type_id聽as聽{pay.moneyTypeId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.amount聽as聽{pay.amount},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.payer_id聽as聽{pay.payerId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.payer_name聽as聽{pay.payerName},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.accept_id聽as聽{pay.acceptId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.accept_name聽as聽{pay.acceptName},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.pay_state_id聽as聽{pay.payStateId},
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽T_PAY.remark聽as聽{pay.remark}
聽聽聽聽聽聽聽聽聽聽聽聽FROM聽聽聽T_PAY
聽聽聽聽聽聽聽聽聽聽聽聽JOIN聽聽聽T_BIZ_PAY
聽聽聽聽聽聽聽聽聽聽聽聽ON聽聽聽聽聽聽聽T_PAY.pay_id聽=聽T_BIZ_PAY.pay_id
聽聽聽聽聽聽聽聽聽聽聽聽WHERE聽聽T_BIZ_PAY.biz_id聽=聽:bizId