Hibernate:将实体作为列表映射到两个或更多个其他实体(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实体创建一个表。 我该怎么做这种映射? 有任何想法吗?
提前致谢。
@Entity class Item { ... } @Entity class Character { ... @OneToMany public List<Item> getItems() { ... } } @Entity class Bank { ... @OneToMany public List<Item> getItems() { ... } }I want to have one table for an Item entities with DTYPE field {Characters,Bank} and ID filed. How can I do such kind of mapping? Any ideas?
Thanks in advance.
最满意答案
你应该使用@DiscriminatorColumn() 在这里阅读它(第2.2.4.2节)
Well, I've found solution - @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() { ... } }Of course don't forget about @JoinTable.
更多推荐
发布评论