使用hibernate,如何使用List<String>
字段保留一个类?
考虑以下实体类:
@Entity
public class Blog {
private Long id;
private List<String> list;
@Id
@GeneratedValue
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public List<String> getList() { return list; }
public void setList(List<String> list) { this.list = list; }
}
但是,当我尝试保存它时,我收到以下错误:
[INFO] An exception occured while executing the Java class. null
Could not determine type for: java.util.List, at table: Blog, for columns: [org.hibernate.mapping.Column(list)]
我尝试将“@CollectionOfElements
”添加到getList()
,但只有id
被保存到库中。没有为列表创建相应的列。
注意:我只是在尝试Hibernate,所以我可以使用文档链接来帮助我理解Hibernate中的集合关系管理
答案 0 :(得分:7)
看看This。也许它有所帮助。
您是否按以下方式申请@CollectionOfElements?
@org.hibernate.annotations.CollectionOfElements(
targetElement = java.lang.String.class
)
答案 1 :(得分:0)
看看Hibernate Annotations Documentation about Collections基本上你必须告诉清单它与它的关系。
@OneToMany(mappedBy="blog")
public List<String> getList() { return list; }
然后它应该工作。
答案 2 :(得分:0)
使用Serializable
对象似乎效果更好。将list
属性更改为ArrayList<String>
似乎可以解决问题。