hibernate 一對多關聯

2021-08-29 08:27:05 字數 1385 閱讀 5809

雖然老師說不提倡使用一對多的對映,一般情況下推薦使用多對一設定實現,他們的效果是一樣的,但是我們還是簡單的講了一點實現方法,以後估計很少用吧,記到這吧,說不定不用很快就想不起來了

現在定義了兩個bean,乙個是hospital,另外乙個叫做doctor.

在hospital中的屬性為:

private long id;

private string introduce;

private string characteristic;

private string hospitaldegree;

private string location;

private string howtogo;

private string imagefilepathname1;

private string imagefilepathname2;

private string imagefilepathname3;

private set doctors = new hashset();

在doctor中的屬性為:

private long id;

private string name;

private string email;

private int age;

private string ***;//性別

private int doctornum;//編號

現在要完成的效果是建立多個醫生,加入到hospital中的hashset裡面,儲存hospital時候doctor會自動儲存。這裡有兩種方法都可以實現:

1.建立乙個hashset類物件hs,建立醫生的過程中逐個加入到hs中【hs.add(doctor)】,然後new乙個hospital物件hp,用setter方法將hs的值賦予hp.doctors就可以了

2.先new乙個hospital物件hp,用getter方法獲得hp.doctors,然後開始建立醫生,建立過程中逐個加入到裡面就可以了。

[color=blue]兩種方法的**如下:[/color]

方法1.

hospitalmanager hmr = new hospitalmanager();

hashsetht = new hashset();

for(int i=1;i<10;i++)

hospital h = hmr.createhospital(1,ht);

hmr.storeobject(h);

方法2.

hospital h = hmr.createhospital(1);

hashsetht = (hashset)h.getdoctors();

for(int i=1;i<10;i++)

hmr.storeobject(h);

hibernate一對多關聯對映

一對多關聯對映和多對一關聯對映的對映原理是一致的,都是在多的一端加入乙個外來鍵,指向一的一端。關聯關係都是由多端維護,只是在寫對映時發生了變化。多對一和一對多的區別在於維護的關係不同 1 多對一 多端維護一端的關係,在載入多端時,可以將一端載入上來。2 一對多 一端維護多端的關係,在載入一端時,可以...

Hibernate 一對多 關聯關係對映

維護關係為 一指向多的關係,在載入一的時候可將多的一端資料自動載入 班級和學生就是一對多的關係 單向關聯 學生端 name com.bjpowernode.hibernate.student table t student name id class native id name name clas...

Hibernate多對一及一對多關聯關係理解及區別

關聯關係的本質是將關聯關係對映到資料庫中。關聯關係在物件模型中體現為記憶體中的乙個或多個引用。一對多關係 一對多關係 分為 單向一對多 多對一關係 和 雙向多對一 關係。單向一對多 多對一關係 只需在 一 多 方進行配置,雙向多對一關係 需要在關聯雙方均加以配置。雙向多對一關聯就是在多方和一方都進行...