我有一个实体,我有一个清单:
@OneToMany(mappedBy = "wycenioneAuta", cascade = {CascadeType.DETACH, CascadeType.MERGE,
CascadeType.PERSIST, CascadeType.REFRESH}, fetch = FetchType.EAGER)
@OrderColumn(name = "photoId", nullable = false)
public List<ImageInfo> getPhoto() {
return photo;
}
但是当我添加照片时,数据库条目在“photoId”中具有空值,导致错误"org.hibernate.HibernateException: null index column for collection: "
。
感谢您的帮助
答案 0 :(得分:2)
问题仍然没有解决,但我需要做一些事情来推动项目的进一步发展,所以我想与你分享,我是如何逃避问题的。
我需要List
代替Set
,所以我将注释从getter移到了字段声明,添加了注释@Access(AccessType.FIELD)
所以我的代码现在看起来像这样:
@OneToMany(mappedBy = "wycenioneAuta", cascade = {CascadeType.DETACH, CascadeType.MERGE,
CascadeType.PERSIST, CascadeType.REFRESH}, fetch = FetchType.EAGER)
@Access(AccessType.FIELD)
private Set<ImageInfo> zdjecia = new LinkedHashSet<>();
感谢@Access注释我现在可以将setter和getter设为List
,它看起来像这样:
public List<ImageInfo> getZdjecia() {
return new LinkedList<>(zdjecia);
}
public void setZdjecia(List<ImageInfo> zdjecia) {
this.zdjecia = new LinkedHashSet<>(zdjecia);
}
我希望这会对某人有所帮助,因为它帮助了我。这不是我想要的,但它有效,所以我认为它很重要:)