hibernate 用聯接表對映

2021-08-26 07:55:37 字數 1687 閱讀 8400

用聯接表對映:

表示從shipment到item關聯的屬性成為auction:

(可以在另一端使用相同的方法,吧在合格關聯對映為雙向。然而,可選的一對一關聯大多數時候都是單向的。)

插入:

shipment shipment = new shipment(12d); 

item item = new item("hello");

shipment.setauction(item);

session.persist(shipment);

通過註解對映二級聯接表:

@entity

public class shipment implements serializable {

@id@generatedvalue

@column(name="shipment_id")

private integer shipmentid;

private double money;

@onetoone(cascade=cascadetype.persist)

//和外來鍵關聯的區別就是那個是加入的字段@joincolumn(name="address_id")

//和hibernate的區別就是joincolumns替代了key,inversejoincolumns替代了many-to-one

//@jointable加入維護表,且本實體為維護端

@jointable(name="item_shipment",

joincolumns=@joincolumn(name="shipment_id"),

inversejoincolumns=@joincolumn(name="item_id"))

private item auction;

插入:

shipment shipment = new shipment(12d); 

item item = new item("hello");

shipment.setauction(item);

em.persist(shipment);

通過註解對映二級聯接表(可以連線多個字段):

@entity

//相當於前面的和@jointable中的joincolumn()。如果沒指定名稱,那麼就會預設使用主鍵shipment_id

@secondarytable(name="item_shipment")

public class shipment implements serializable {

@id@generatedvalue

@column(name="shipment_id")

private integer shipmentid;

private double money;

@manytoone(cascade=cascadetype.persist)

@joincolumn(table="item_shipment",name="item_id")

private item auction;

兩表聯接以及左 右聯接

常用方法 select from tab i,tab j where tab i.column id tab j.column id inner join聯接方法 select from tab i inner join tab j on tab i.column id tab j.column i...

對映檔案 Hibernate 對映檔案

乙個物件 關係型對映一般定義在 xml 檔案中。對映檔案指示 hibernate 如何將已經定義的類或類組與資料庫中的表對應起來。儘管有些 hibernate 使用者選擇手寫 xml 檔案,但是有很多任務具可以用來給先進的 hibernate 使用者生成對映檔案。這樣的工具包括xdoclet,mid...

hibernate實體對映

1.寫注釋 格式為 屬性,表示本類的?關係 例如 2.寫模板 多對一 一對多 多對多 注 多對多中的table 表示填入中間 的名稱 3.填空 name屬性 屬性名 注釋中的第1問號 class屬性 關聯的實體型別 注釋中的第2個問號 column屬性 多對一中的 一般可以寫成屬性名加id字尾,如屬...