dan*_*anb 21 java annotations hibernate jpa
我想做这样的事情:
@Entity public class Bar {
@Id @GeneratedValue long id;
List<String> Foos
}
Run Code Online (Sandbox Code Playgroud)
并将Foos坚持在这样的表格中:
foo_bars (
bar_id int,
foo varchar(64)
);
Run Code Online (Sandbox Code Playgroud)
更新:
我知道如何映射其他实体,但在许多情况下它是过度的.如果没有创建另一个实体或最终在某些blob列中的所有内容,看起来我建议的是不可能的.
小智 28
如果您使用的是JPA2,请按以下步骤操作:
@Entity public class Bar {
@Id @GeneratedValue long id;
@ElementCollection
@CollectionTable(name="foo_bars", joinColumns=@JoinColumn(name="bar_id"))
@Column(name="foo")
List<String> Foos;
}
Run Code Online (Sandbox Code Playgroud)
有关更清晰的示例,请参阅"Hibernate注释参考指南"中的第2.2.5.3.3节.
Maa*_*els 27
这在Hibernate术语中是"值集合"或"元素".它有一个(特定于Hibernate)注释.JPA不支持(尚未).
简而言之,像这样注释你的收藏:
@CollectionOfElements
@JoinTable(
table=@Table(name="..."),
joinColumns = @JoinColumn(name="...") // References parent
)
@Column(name="...value...", nullable=false)
Run Code Online (Sandbox Code Playgroud)
这将创建具有外键和限制的必要表.
| 归档时间: |
|
| 查看次数: |
40486 次 |
| 最近记录: |