簡體   English   中英

休眠:將實體作為列表映射到兩個或多個其他實體

[英]Hibernate: Mapping entity as list to two or more another entities

@Entity
class Item {
  ...
}

@Entity
class Character {
  ...
  @OneToMany
  public List<Item> getItems() {
    ...
  }
}

@Entity
class Bank {
  ...
  @OneToMany
  public List<Item> getItems() {
    ...
  }
}

我想為具有DTYPE字段{Characters,Bank}和ID的Item實體創建一個表。 我該如何進行這種映射? 有任何想法嗎?

提前致謝。

您應該使用@DiscriminatorColumn()
在此處閱讀有關信息 (第2.2.4.2頁)

好吧,我找到了解決方案- @WhereJoinTable

@Entity
class Item {
  ...
}

@Entity
class Character {
  ...
  @OneToMany
  ..
  @WhereJoinTable(clause="DTYPE = 'Character'")
  public List<Item> getItems() {
    ...
  }
}

@Entity
class Bank {
  ...
  @OneToMany
  ..
  @WhereJoinTable(clause="DTYPE = 'Bank'")
  public List<Item> getItems() {
    ...
  }
}

當然不要忘記@JoinTable

暫無
暫無

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

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