天天看點

【Hibernate】Hibernate實體關系映射——雙邊的一對一關系

凡是配置實體間關系的标簽,例如:@ManyToOne、@OneToMany、@ManyToMany、@OneToOne等,都可以配置mappedBy屬性。mappedBy表示該屬性是反向屬性,與另一邊實體類(一般可以用泛型表示)的mappedBy制定的屬性是對應的。

http://blog.csdn.net/lmb55/article/details/46566641中以艦船管理為例學習了單邊的一對一關系,下面我們在上例的基礎上繼續學習雙邊的一對一關系。使用mappedBy為Ship艦船實體類添加另一邊的一對一關系。

修改Ship代碼,添加一對一的Ship類型屬性captionShip,表示某船長管理的船隻,并為其添加相應的getter、setter方法。船長和船隻是一對一的關系,用@OneToOne來配置,使用mappedBy配置該屬性為反向屬性,具體的配置代碼位于另一邊實體類(ship類)的caption屬性中。

@OneToOne(mappedBy="caption") //使用反向控制
    private Ship captionShip;

    public Ship getCaptionShip() {
        return captionShip;
    }

    public void setCaptionShip(Ship captionShip) {
        this.captionShip = captionShip;
    }
           

繼續閱讀