我有一个字段aliases类型java.util.Set于一体Entity.这Set并不表示与实体的任何关系.
如何aliases通过JPA 存储此字段?
该字段如何存储在数据库中?我认为对于数据库来说,这个字段是一个多值属性.
如何通过JPA存储此别名字段?
JPA 1.0不支持基本类型的集合,因此您必须:
@OneToMany〜或〜Set存储在BLOB(作为Serializable)〜或〜@Transient并使用另一个getter/setter来使用自定义字符串表示(使用分隔符)〜或〜来存储它@CollectionOfElements注释).解决方案#1将是最干净的便携式解决方案.解决方案#2可能会导致一些升级问题.解决方案#3是#2的丑陋变通方法.解决方案#4干净但不便携.
在JPA 2.0中,有@ElementCollection这个用例的注释(这当然是理想的解决方案).
该字段如何存储在数据库中
根据所选的实现,它可能位于另一个表中的BLOB,VARCHAR中.