Hibernate集合排序之?dāng)?shù)據(jù)庫(kù)排序
系統(tǒng)
1598 0
使用order-by屬性,我們可以通過hbm文件執(zhí)行生成的SQL如何使用order by 查詢子句以返回排序后的結(jié)果集
數(shù)據(jù)庫(kù)結(jié)構(gòu):
?
create
?
table
?teamOrder?(id?
varchar
(
32
),teamname?
varchar
(
32
));
create
?
table
?studentOrder?(id?
varchar
(
32
),name?
varchar
(
32
),description?
varchar
(
32
),team_id?
varchar
(
32
));
insert
?
into
?teamOrder?
values
("
1
","team1");
insert
?
into
?studentOrder?
values
("
1
","a","a","
1
");
insert
?
into
?studentOrder?
values
("
2
","b","b","
1
");
insert
?
into
?studentOrder?
values
("
3
","c","c","
1
");
?
pojo:
?
package
?Collection.Order;
import
?java.util.Set;
public
?
class
?Team?
...
{
???
private
?String?id;
???
private
?String?teamname;
???
private
?Set?students;
public
?String?getId()?
...
{
????
return
?id;
}
public
?
void
?setId(String?id)?
...
{
????
this
.id?
=
?id;
}
public
?String?getTeamname()?
...
{
????
return
?teamname;
}
public
?
void
?setTeamname(String?teamname)?
...
{
????
this
.teamname?
=
?teamname;
}
public
?Set?getStudents()?
...
{
????
return
?students;
}
public
?
void
?setStudents(Set?students)?
...
{
????
this
.students?
=
?students;
}
}
package
?Collection.Order;
public
?
class
?Student?
...
{
??
private
?String?id;
??
private
?String?name;
??
private
?String?description;
??
private
?Team?team;
public
?String?getId()?
...
{
????
return
?id;
}
public
?
void
?setId(String?id)?
...
{
????
this
.id?
=
?id;
}
public
?String?getName()?
...
{
????
return
?name;
}
public
?
void
?setName(String?name)?
...
{
????
this
.name?
=
?name;
}
public
?String?getDescription()?
...
{
????
return
?description;
}
public
?
void
?setDescription(String?description)?
...
{
????
this
.description?
=
?description;
}
public
?Team?getTeam()?
...
{
????
return
?team;
}
public
?
void
?setTeam(Team?team)?
...
{
????
this
.team?
=
?team;
}
}
?
Hibernate.cfg.xml
?
<?
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"
>
<!--
?Generated?by?MyEclipse?Hibernate?Tools.???????????????????
-->
<
hibernate-configuration
>
<
session-factory
>
????
<
property?
name
="connection.username"
>
root
</
property
>
????
<
property?
name
="connection.url"
>
????????jdbc:mysql://localhost:3306/schoolproject?characterEncoding=gb2312
&
useUnicode=true
????
</
property
>
????
<
property?
name
="dialect"
>
????????org.hibernate.dialect.MySQLDialect
????
</
property
>
????
<
property?
name
="myeclipse.connection.profile"
>
mysql
</
property
>
????
<
property?
name
="connection.password"
>
1234
</
property
>
????
<
property?
name
="connection.driver_class"
>
????????com.mysql.jdbc.Driver
????
</
property
>
????
<
property?
name
="hibernate.dialect"
>
????????org.hibernate.dialect.MySQLDialect
????
</
property
>
????
<
property?
name
="hibernate.show_sql"
>
true
</
property
>
????
<
property?
name
="current_session_context_class"
>
thread
</
property
>
????
<
property?
name
="jdbc.batch_size"
>
15
</
property
>
????
<
mapping?
resource
="Collection/Order/Student.hbm.xml"
?
/>
????
<
mapping?
resource
="Collection/Order/Team.hbm.xml"
?
/>
</
session-factory
>
</
hibernate-configuration
>
Student.hbm.xml
?
<?
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?-?Hibernate?Tools
-->
<
hibernate-mapping
>
<
class?
name
="Collection.Order.Student"
?table
="studentOrder"
?
>
????
<
id?
name
="id"
?unsaved-value
="null"
>
??????
<
generator?
class
="uuid.hex"
></
generator
>
????
</
id
>
??
????
<
property?
name
="name"
?type
="string"
?column
="name"
></
property
>
???
????
<
property?
name
="description"
?type
="string"
?column
="description"
></
property
>
?
????
<
many-to-one?
name
="team"
?
?????????????????column
="team_id"
?????????????????class
="Collection.Order.Team"
?
?????????????????cascade
="none"
?
?????????????????fetch
="join"
>
????
</
many-to-one
>
</
class
>
</
hibernate-mapping
>
Team.hbm.xml
?
?
<?
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?-?Hibernate?Tools
-->
<
hibernate-mapping
>
<
class?
name
="Collection.Order.Team"
?table
="teamOrder"
?
>
????
<
id?
name
="id"
?unsaved-value
="null"
>
??????
<
generator?
class
="uuid.hex"
></
generator
>
????
</
id
>
????
<
property?
name
="teamname"
?type
="string"
?column
="teamname"
></
property
>
????
<!--
?以名稱降序返回student集合?
-->
????
<
set?
name
="students"
?table
="studentOrder"
?cascade
="all"
?order-by
="name?desc"
>
??????
<
key?
column
="team_id"
></
key
>
??????
<
one-to-many?
class
="Collection.Order.Student"
/>
????
</
set
>
</
class
>
</
hibernate-mapping
>
?
測(cè)試代碼:
?
package
?Collection.Order;
import
?java.io.File;
import
?java.util.Iterator;
import
?java.util.Set;
import
?org.hibernate.Session;
import
?org.hibernate.SessionFactory;
import
?org.hibernate.Transaction;
import
?org.hibernate.cfg.Configuration;
Hibernate集合排序之?dāng)?shù)據(jù)庫(kù)排序
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元