在Annotation 中有這麼一個@mappedBy 屬性注解,相信有些同學還是對這個屬性有些迷惑,上網找了些了解@mappedBy比較深刻的資料,下面貼出來供大家參考。
http://xiaoruanjian.iteye.com/blog/1094253
http://blog.csdn.net/gabriel80/article/details/4260923
看完資料後,我自己也總結了下,。
[email protected] 屬性簡單了解為 設定為主表(這隻是我個人了解,上面文章中也有提到過)
是以另一端則需要設定外鍵@JoinColumn(name="fk_id")
[email protected] 注解下傳回Set集合(列如:上帝可以有多個信徒)。
[email protected] 注解下 設定外鍵 根據 外鍵擷取到主表對象隻能擷取到一個對象(列如:信徒隻能有一個上帝)。
主表(God)
Java代碼

- private Set believer= new HashSet(0);
- public void setBeliever(Set<Believer> believer){
- this.believer= believer;
- }
- @OneToMany(cascade = { CascadeType.MERGE }, fetch = FetchType.LAZY, mappedBy = "God")
- public Set<Believer> getBeliever() {
- return believer;
- }
從表(Believer)
Java代碼

- private God god;
- public void setGod(God god){
- this.god= god;
- }
- @ManyToOne(cascade = {}, fetch = FetchType.LAZY)
- @JoinColumns({
- @JoinColumn(name = "godid",nullable = false, insertable = false, updatable = false)
- })
- public God getGod() {
- return god;
- }
這裡我隻是我自己的了解,上面兩個連結說的很詳細,希望大家能給出一些寶貴建議!謝謝!