澶氬澶氬叧緋誨湪鏁版嵁搴撲篃鏄瘮杈冨父瑙佺殑錛屽畠閫氳繃涓涓腑闂磋〃灝嗕袱涓富琛ㄥ叧鑱旇搗鏉ャ?br>涓嬮潰鏉ョ湅鐪嬪瀵瑰鍏寵仈鍦╪h鐨勫疄鐜幫紝紺轟緥鏄竴涓猆ser鍜孏roup涔嬮棿鐨勫瀵瑰鍏寵仈銆?br>
鍏堟潵鐪嬬湅User綾葷殑鏄犲皠淇℃伅:
鍦ㄥ瀵瑰瀹氫箟涓紝瀹氫箟浜?jiǎn)涓棿琛ㄤ负UserGroups錛屾琛ㄥ彧鏈変袱涓瓧孌碉細(xì)user_id鍜実roup_id錛涚敤浜庡叧鑱擴(kuò)sers鍜孏roups琛ㄣ?br>
User鐨勫畾涔夛細(xì)
public class User
{
public User() {
}
public int UserId
{
get { return userId; }
set { userId = value; }
}
public
int Name
{
get { return name; }
set { name = value;
}
}
public IDictionary Groups
{
get { return
groups; }
set { groups = value; }
}
private int
userId;
private string name;
private IDictionary groups = new
Hashtable();
} //class
User
榪欓噷鐢ㄤ竴涓暟鎹瓧鍏窱Dictionary瀵硅鏉ヤ繚瀛樼粍瀵硅薄銆?br>
鍐嶆潵鐪嬬湅Group綾葷殑鏄犲皠淇℃伅錛?br>
榪欓噷many-to-many鐨勫畾涔夊拰User綾繪槧灝勪俊鎭腑鐨勫樊涓嶅銆?br>
緇勭被鐨勫畾涔夛細(xì)
public class Group
{
public Group() {
}
public int GroupId
{
get { return groupId; }
set { groupId = value; }
}
public int Name
{
get { return name; }
set {
name = value; }
}
public int Description
{
get {
return description; }
set { description = value; }
}
public IDictionary Users
{
get { return users; }
set {
users = value; }
}
private int groupId;
private string
name;
private IDictionary users = new Hashtable();
} //class
Group
娉ㄦ剰錛氬瀵瑰娌℃湁涓繪涔嬪垎錛屼繚瀛樻椂鐨勪袱杈歸兘瑕乻ave!
涓嬮潰緇欏嚭閮ㄥ垎嫻嬭瘯浠g爜銆?br>
public TestCreate()
{
User user1 = new User();
user1.Name = "test1";
User user2 =
new User();
user2.Name = "test2";
Group group1 = new
Group();
group1.Name = "group1";
Group group2 = new Group();
group2.Name = "group2";
user1.Groups.Add( group2, group2 );
user2.Groups.Add( group1. group1 );
group1.Users.Add( user2, user2
);
group2.Users.Add( user1, user1 );
ITransactioin trans =
null;
try {
trans = session.BeginTransaction();
Session.Save( user1 );
Session.Save( user2 );
Session.Save(
group1 );
Session.Save( group2 );
trans.Commit();
}
catch ( Exception e ) {
if ( trans != null )
trans.Rollback();
throw e;
}
finally {
session.Close();
}
}
浠ヤ笂嫻嬭瘯浠g爜涓璼ession鐨勭浉鍏蟲搷浣滆鏌ョ湅鐩稿叧鏂囨。銆?br>
鍦ㄥ疄闄呭簲鐢ㄤ腑錛屾垜杈冨皯浣跨敤many-to-many鏄犲皠錛屽綋鐒惰繖瑕佷粠鎬ц兘鍜屽疄闄呴渶瑕佽冭檻銆?br>鎴戠殑鍋氭硶鏄竴涓猠lements鏉ュ彇寰楁墍鏈夊叧鑱旂殑identity,
鐒跺悗鍦ㄩ渶瑕佺殑鏃跺欐墠鍔犺澆瀵硅薄錛屾湁鐐圭被浼糽azy,
浣唋azy鏈変竴涓棶棰橈紝灝辨槸session蹇呴』娌℃湁琚噴鏀撅紝榪欏湪鍒嗗眰寮鍙戜腑杈冮毦鍔炲埌銆?br>
鍘熸枃:http://www.seaskyer.net/Index/Catalog44/182.html

]]>