JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Web Framework  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Hibernate的oneToMany與ManyToOne的意義
lueichun





發文: 34
積分: 0
於 2021-01-30 17:35 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
以下的程式,有City跟Country兩個類別,city跟country是多對一的關係,

程式可以正常運作:

City類別:
1
2
3
4
5
6
public class City {
        private int cityId;
        private String cityName;
        private Country country;
......
}


City的映射檔:
1
2
3
4
5
6
7
8
9
10
11
<hibernate-mapping package="com.test.vo">
        <class name="City" table="CITY">
                <id name="cityId" column="CITY_ID">
                        <generator class="increment"/>
                </id>
                <property name="cityName" column="CITY_NAME" />
 
<many-to-one name="country" column="COUNTRY_ID" class="com.test.vo.Country"
cascade="all"/><!--country是外鍵屬性、COUNTRY_ID是外鍵欄位-->
        </class>
</hibernate-mapping>


Country類別:
1
2
3
4
5
6
7
8
9
public class Country {
        int countryId;
        String countryName;
        String countyCreateDate;
 
        private Set<City> cities =new HashSet<City>();
 
......
}


Country映射檔:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<hibernate-mapping package="com.test.vo">
        <class name="Country" table="COUNTRY">
                <id name="countryId" column="COUNTRY_ID">
                        <generator class="sequence">
                                <param name="sequence">country_id_seq</param>
                        </generator>
                </id>
                <property name="countryName" column="COUNTRY_NAME" />
                <property name="countyCreateDate" column="COUNTRY_CREATE_DATE"
 />
 
        <set name="cities" table="city" cascade="all">
            <key column="country_Id"/><!--country_Id是外鍵欄位-->
            <one-to-many class="com.test.vo.City"/>
        </set>
        </class>
</hibernate-mapping>


雖然程式可以正常運行,但我不懂的是映射檔的部分,為何在many-to-one tag以及set tag、key tag裡面

設定外鍵欄位跟外鍵屬性,即可正常執行crud。

背後的邏輯是什麼?希望可以搞懂,不然又變成只是死背語法了。


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
222 Hibernate的oneToMany與ManyToOne的意義 lueichun 1796 2021-01-30 17:35
» JWorld@TW »  Web Framework

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8