![](/img/trans.png)
[英]How to persist a Map<String, List<Object>> in Hibernate
[英]How to persist a List of Strings in Hibernate?
我似乎在映射 Hibernate 中的列表時遇到問題。 在我們的項目中,有一張 class Card
,其中包含一個 class Answer
,其中Answer
包含一個List<String>
。
Hibernate 是否可以使用注釋映射List<String>
? 我的意思是,因為它沒有@Entity
注釋?
問候
使用@ElementCollection
:
@ElementCollection
@CollectionTable(name="Nicknames", joinColumns=@JoinColumn(name="user_id"))
@Column(name="nickname")
public List<String> getNicknames() { ... }
資料來源: 7.2.3。 Collections 基本類型和可嵌入對象
嘗試
@org.hibernate.annotations.CollectionOfElements(
targetElement = java.lang.String.class
)
@JoinTable(
name = "foo",
joinColumns = @JoinColumn(name = "foo_id")
)
@org.hibernate.annotations.IndexColumn(
name = "POSITION", base = 1
)
@Column(name = "baz", nullable = false)
private List<String> arguments = new ArrayList<String>();
或查看此詳細示例
如果您願意將它們存儲在與 JSON(MySQL、 PostgreSQL也支持索引和二進制 JSON)相同的列中,您可以簡單地使用com.vladmihalcea/hibernate-types-52
庫。
@TypeDefs({
@TypeDef(name = "json", typeClass = JsonType.class)
})
public class YourEntity {
@Column(nullable = false)
@Type(type = "json")
private List<String> fieldName = List.of();
...
}
在此處查看完整指南
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.