簡體   English   中英

Hibernate映射:在現有數據庫中創建FK關系以進行聯接操作

[英]Hibernate mapping: creating FK relation in existing db for join operations

我有一個無法更改的現有數據庫。 有兩個表,一個(A)有PK,一個(B)有FK指向第一個的PK。 各個列分別命名為(A).page_id和(B).cl_from。 在休眠映射中,我可以為第一個ID(映射PK)設置ID。 我也可以為一對多關系設置一個包。 第二,我不需要ID,而是多對一關系。 沒有ID的情況下如何設置多對一關系? 我不想在該類中插入ID。我試圖設置一個復合鍵,但是沒有運氣。

// The PK class
<class name="Words" table="PAGE">
  <id name="id" column="PAGE_ID" />
  <property name="text" column="PAGE_TITLE" />  
  <bag cascade="all-delete-orphan" inverse="true" lazy="false" name="wordPages">
     <key column="PAGE_ID"/>
     <one-to-many class="CategoryItems"/>
  </bag>
</class>

// The FK class
<class name="CategoryItems" table="CATEGORYLINKS" >
  <composite-id> 
    <key-many-to-one name="id" column="CL_FROM" />
  </composite-id>
  <property name="text" column="CL_TO" />
</class>

我的課程:

 public class Words {

 private Long id;
 private String text;
 private ArrayList wordPages;
// getters - setters

public class CategoryItems implements Serializable  {

/**
 * 
 */
  private static final long serialVersionUID = 1L;
  private Long id;
  private String text;

//getters-setters

我得到的最新錯誤是: An association from the table CATEGORYLINKS refers to an unmapped class: java.lang.Long

應該有助於以下代碼:

public class CategoryItems implements Serializable  
{
  private static final long serialVersionUID = 1L;
  private Words id;
  private String text;

  //getters-setters
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM