bob*_*bob 5 java polymorphism jpa
我无法弄清楚如何使用JPA干净地执行标记云,其中每个数据库实体可以有许多标记.
例如
帖子可以有0个或更多标签用户可以有0个或更多标签
在JPA中有一种更好的方法,而不是让所有实体都像Taggable抽象类那样子类吗?标签实体将引用许多Taggables.
编辑:标签云只是简化我遇到的问题的一个示例.在我的场景中,关系应该是OneToMany,其中Tag不能被重用.
谢谢
为什么不直接映射标签集合甚至字符串呢?
须藤代码:
@Entity
@Table(name="entities")
class MyEntity{
long id;
String someField;
@ManyToMany(targetEntity=Tag.class)
@JoinTable(name="entities_to_tags",
joinColumns={
@JoinColumn(name="id",
referencedColumnName="entity_id",
inverseJoinColumns={
@JoinColumn(name="id", referencedColumnName="tag_id")})
List<Tag> tags;
[...getter&setter...]
}
@Entity
@Table(name="tags")
class Tag{
@Id
@GeneratedValue
long id;
String title;
[....getter & setter...]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2931 次 |
| 最近记录: |