0

私はこの関係を1対多にしています。これは私の1つのテーブルです。

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:挿入できませんでした:...」というメッセージが表示されました。

4

1 に答える 1