hibernate sql²éѯ list
±¾ÎÄ×ªÔØ: http://hi.baidu.com/%D2%BB%C6%F0%C8%A5%CC%DF%C7%F2/blog/item/802027355899fe83a61e12ee.html
ʹÓÃSQLQuery
¶ÔÔÉúSQL²éѯִÐеĿØÖÆÊÇͨ¹ýSQLQuery½Ó¿Ú½øÐеģ¬Í¨¹ýÖ´ÐÐSession.createSQLQuery
()
»ñÈ¡Õâ¸ö½Ó¿Ú¡£×î¼òµ¥µÄÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔ²ÉÓÃÒÔÏÂÐÎʽ£º
List
cats
=
sess.createSQLQuery
(
"
select * from cats
"
).addEntity(Cat.
class
).list
();
Õâ¸ö²éѯָ¶¨ÁË:
SQL²éѯ×Ö·û´®
²éѯ·µ»ØµÄʵÌå
ÕâÀ½á¹û¼¯×Ö¶ÎÃû±»¼ÙÉèΪÓëÓ³ÉäÎļþÖÐÖ¸Ã÷µÄ×Ö¶ÎÃûÏàͬ¡£¶ÔÓÚÁ¬½ÓÁ˶à¸ö±íµÄ²éѯ£¬Õâ¾Í¿ÉÄÜÔì³ÉÎÊÌ⣬ÒòΪ¿ÉÄÜÔÚ¶à¸ö±íÖгöÏÖͬÑùÃû×ÖµÄ×ֶΡ£ÏÂ
ÃæµÄ·½·¨¾Í¿ÉÒÔ±ÜÃâ×Ö¶ÎÃûÖØ¸´µÄÎÊÌâ:
List
cats
=
sess.createSQLQuery
(
"
select {cat.*} from cats cat
"
).addEntity(
"
cat
"
, Cat.
class
).list
();
Õâ¸ö²éѯָ¶¨ÁË:
SQL²éѯÓï¾ä£¬Ëü´øÒ»¸öռλ·û£¬¿ÉÒÔÈÃHibernateʹÓÃ×ֶεıðÃû.
²éѯ·µ»ØµÄʵÌ壬ºÍËüµÄSQL±íµÄ±ðÃû.
addEntity()·½·¨½«SQL±íµÄ±ðÃûºÍʵÌåÀàÁªÏµÆðÀ´£¬²¢ÇÒÈ·¶¨²éѯ½á¹û¼¯µÄÐÎ̬¡£
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
();
ÔÉúµÄSQL²éѯ¿ÉÄÜ·µ»ØÒ»¸ö¼òµ¥µÄ±êÁ¿Öµ»òÕßÒ»¸ö±êÁ¿ºÍʵÌåµÄ½áºÏÌå¡£
Double max
=
(Double)
sess.createSQLQuery
(
"
select max(cat.weight)
as maxWeight from cats cat
"
)
.addScalar(
"
maxWeight
"
, Hibernate.DOUBLE);
.uniqueResult();
³ý´ËÖ®Í⣬Ä㻹¿ÉÒÔÔÚÄãµÄhbmÎļþÖÐÃèÊö½á¹û¼¯Ó³ÉäÐÅÏ¢£¬ÔÚ²éѯÖÐʹÓá£
List
cats
=
sess.createSQLQuery
(
"
select {cat.*}, {kitten.*} from cats cat, cats kitten where
kitten.mother = cat.id
"
)
.setResultSetMapping(
"
catAndKitten
"
)
.list
();
ÃüÃûSQL²éѯ
¿ÉÒÔÔÚÓ³ÉäÎĵµÖж¨Òå²éѯµÄÃû×Ö,È»ºó¾Í¿ÉÒÔÏóµ÷ÓÃÒ»¸öÃüÃûµÄHQL²éѯһÑùÖ±½Óµ÷ÓÃÃüÃûSQL²éѯ.ÔÚÕâÖÖÇé¿öÏÂ,ÎÒÃDz»
ÐèÒ
Ïà¹ØÎĵµ£º
½éÉÜGROUP BY ºÍ HAVING ×Ó¾äǰ£¬ÎÒÃDZØÐèÏȽ²½²sqlÓïÑÔÖÐÒ»ÖÖÌØÊâµÄº¯Êý:¾ÛºÏº¯Êý£¬ÀýÈçSUM, COUNT, MAX, AVGµÈ¡£ÕâЩº¯ÊýºÍÆäËüº¯ÊýµÄ¸ù±¾Çø±ð¾ÍÊÇËüÃÇÒ»°ã×÷ÓÃÔÚ¶àÌõ¼Ç¼ÉÏ¡£
SELECT SUM(population) from bbc
ÕâÀïµÄSUM×÷ÓÃÔÚËùÓзµ»Ø¼Ç¼µÄpopulation×Ö¶ÎÉÏ£¬½á¹û¾ÍÊǸòéѯֻ·µ»ØÒ»¸ö½á¹û£¬¼´ËùÓйú¼ÒµÄ×ÜÈË¿ ......
/*sqlÖØ¸´Êý¾Ý´¦Àí£¬ÓÐΨһID£¬formidÓÐÖØ¸´*/
/*²é³öÖØ¸´µÄfromid*/
select formid from GaiaSaver_BUG group by formid having count(*)>1
/*ɾ³ýÖØ¸´formid£¬Ö»ÁôÒ»Ìõ*/
delete from GaiaSaver_BUG where ID not in
(select min(ID) as ID from GaiaSaver_BUG group by for ......
ÎÒÃÇÒª½¨Á¢¶à¼¶¹ØÏµ£¬Ê×ÏÈÐèÒªÁ½¸ö±í.
µÚÒ»¸ö±í±íʾֱÊô½á¹¹£¬±ÈÈç˵ÎÒÃǹ«Ë¾ÓÐÒ»¸ö²¿ÃÅ¡£¶øÕâ¸ö²¿ÃÅÏ»¹ÓÐ3¸öС×飬ÄÇô3¸öС×éÊôÓÚÕâ¸ö²¿ÃÅ.µÚ¶þ¸ö±í±íʾ¶à²ã½á¹¹,¾ÍÏóµÚÒ»±íÀïÃæËù±íʾµÄ£¬ÕâÈý¸öС×éͬʱ»¹ÊôÓÚ¹«Ë¾.¶øÕâ¸ö¹«Ë¾Í¬Ê±ÊôÓÚÕâ3¸öС×éµÄ¸¸¼¶µÄ¸¸¼¶µÄ²¿ÃÅ¡£¼ÙÈçÎÒ ......
´Ó¹¦ÄÜÉÏ»®·Ö£¬SQLÓïÑÔ¿ÉÒÔ·ÖΪDDL,DMLºÍDCLÈý´óÀà¡£
1. DDL£¨Data Definition Language£©
Êý¾Ý¶¨ÒåÓïÑÔ£¬ÓÃÓÚ¶¨ÒåºÍ¹ÜÀí SQL Êý¾Ý¿âÖеÄËùÓжÔÏóµÄÓïÑÔ £»
CREATE---´´½¨±í
ALTER---Ð޸ıí
  ......
ÒªµÃµ½Ä³Ò»ÌìÊÇÐÇÆÚ¼¸£¬ÐèÒªÓõ½ SQL Server ÖеÄÈÕÆÚº¯Êý£ºdatename()¡£ ½ñÌìÊÇÐÇÆÚ¼¸£¬Àý×Ó 1£º 1: set language N'English'
2: select datename(weekday, getdate())
3:
4: Wednesday
½ñÌìÊÇÐÇÆÚ¼¸£¬Àý×Ó 2£º
1: set language N'Simplified Chinese'
......