0
我有这种关系一对多。 这是我的ONE桌子。一对多休眠
private Set<Images> imagesContainer = new HashSet<Images>(0);
@OneToMany(fetch = FetchType.LAZY, mappedBy = "container")
public Set<Images> getImagesContainer() {
return this.imagesContainer;
}
public void setImagesContainer(Set<Images> imagesContainer) {
this.imagesContainer = imagesContainer;
}
这是我这么表:
private Container container;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_container", nullable = false)
public Container getContainer() {
return this.container;
}
public void setContainer(Container container) {
this.container = container;
}
我怎样才能插入,与Hibernate,许多集装箱一个新的容器。 我会试试这个:
...
Set<Images> images=new HashSet<Images>();
images.add(img1);
images.add(img2);
Container c = new Container();
c.setImagesContainer(images);
....
@Override
@Transactional(propagation=Propagation.REQUIRED)
public void save(Container c){
getHibernateTemplate().save(c);
}
不要工作!!!我得到了“嵌套的例外是org.hibernate.exception.DataException:无法插入:” ......
错误。我使用您的解决方案或我的解决方案:容器中有1条记录,图像中有0条记录,没有错误。 – enfix
PS:容器没有ID,因为这是一个INSERT,而不是UPDATE – enfix