[nhibernate]體系結構
[nhibernate]isessionfactory配置
[nhibernate]持久化類(persistent classes)
[nhibernate]集合類(collections)對映
單向關聯是最常用的也是最難正確使用的。在本文中會逐個經歷規範的案例,從單向對映開始,然後涉及雙向的案例。我們會在所有的例子中hi用person和address。例子中沒有包括命名空間和程式集,我們把關注點放在重要的方面。
我們通過是否使用表連線和多樣性(單向或雙向)分類關聯。
在傳統的資料模型中允許為空的外來鍵是不適用的,所以我們的例子中沒有使用允許為空的外來鍵,在nhibernate中這不是必須的,如果你刪除控制的約束,對映會照常工作。
多對一(many to one)
一對一(one to one)
一對多(one to many)
多對一(many to one)
一對一(one to one)
一對多(one to many)
多對多(many to many)
一對多(one to many)/多對一(many to one)
雙向的一對多(one to many)關聯是普通的關聯型別。(這是標準的parent/child關係)
1<
class
name
="person"
>
2<
id name
="id"
column
="personid"
>
3<
generator
class
="native"
/>4id
>
5<
many-to-one
name
="address"
6column
="addressid"
7not-null
="true"
8/>
9class
>
10<
class
name
="address"
>
11<
id name
="id"
column
="addressid"
>
12<
generator
class
="native"
/>
13id
>
14<
set
name
="people"
inverse
="true"
>
15<
key
column
="addressid"
/>
16<
one-to-many
class
="person"
/>
17set
>
18class
>
19create table person 20(
21personid bigint not null primary key,
22addressid bigint not null23)
24create table address25(
26addressid bigint not null primary key
27 )
一對一(one to one)
一對多(one to many)/多對一(many to one)
一對一(one to one)
多對多(many to many)
這裡對知識點有個大概的了解,具體應用還需在後續的文章中,通過例子來說明。
Nhibernate中一對多對映 雙向關聯
雙向關聯和單向關聯的區別是 兩邊都能維護關係,如我查詢兩邊的任何一邊,另外一邊的資訊也能查詢出來,其他的修改刪除只要設定了,也都可以。體現在 中是 因為上篇單向關聯是在dictionaryentity上,所以變為雙向關聯要在dictiontypeentity和他對應的xml檔案中加上關聯對映。dic...
NHibernate配置及對映檔案
配置nhibernate有三種常見的配置方法。xml version 1.0 encoding utf 8 configuration configsections section name hibernate configuration type nhibernate.cfg.configurat...
Nhibernate多對多對映
一般來說多對多對映,對映表不需要設定為實體類,但如果特殊需求,如需要新增欄位isactived等,這個時候就需要將對映表設定為實體,同時該實體需要針對兩邊的類做many to one對映,而兩邊的類需要做來實現雙向關聯,如下例 需求 系統需要對私人 accountinfo 傳送短訊息 message...