【发布时间】:2020-04-21 06:39:27
【问题描述】:
我有一个多对多关系,将标签(除了字符串)分配给项目:
+------+ +------------+ +-------+
| ITEM | | ITEM_LABEL | | LABEL |
|------| |------------| |-------|
| ID |<->| ITEM_ID | ┌>| ID |
|------| |------------| | |-------|
| .... | | LABEL_ID |<┘ | TEXT |
+------+ +------------+ +-------+
...我想避免为标签表创建 POJO 类,并将其作为字符串集合保存在 Item 类中。有没有办法使用 JPA(休眠)注释来做到这一点?
我尝试将@CollectionTable 与@JoinTable 结合使用,但显然不起作用:
@Entity
public class Item {
@Id
private long id;
@ElementCollection
@JoinTable(name = "ITEM_LABEL", joinColumns = @JoinColumn(name = "ITEM_ID"))
@CollectionTable(name = "LABEL", joinColumns = @JoinColumn(name = "ID", referencedColumnName = "LABEL_ID"))
@Column(name = "TEXT")
private Collection<Strings> labels;
}
谁能告诉我如何将标签作为字符串集合包含在项目类中,好吗?非常感谢!
【问题讨论】:
-
我假设你找到了this other question,但它对你不起作用
-
您可能不需要
@JoinTable和@Column注释 -
嗨 Lino。你提到的线程不处理多对多关系,所以它不能解决我的问题。还是谢谢!
-
您找到解决方案了吗?我遇到同样的问题。提前致谢
-
@Julien,很遗憾我没有。我已经为标签创建了一个类
标签: java hibernate jpa orm many-to-many