@Entity
class Item {
...
}
@Entity
class Character {
...
@OneToMany
public List<Item> getItems() {
...
}
}
@Entity
class Bank {
...
@OneToMany
public List<Item> getItems() {
...
}
}
我希望为一个具有DTYPE字段{Characters,Bank}和ID字段的Item实体创建一个表。我该怎么做这种映射?有什么想法吗?
提前致谢。
答案 0 :(得分:0)
您应该使用@DiscriminatorColumn()
阅读它here(p.2.2.4.2)
答案 1 :(得分:0)
好吧,我找到了解决方案 - @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
。