I\'m using spring 4.0.5 and hibernate 4.3.5; I\'m facing an error with hibernate and I can\'t figure where I\'m wrong (because I\'m sure I\'m wrong). I have a table related
I'm sorry; it was my mistake......in my entity class I wrongly mapped a relation as oneToOne; it was, instead, oneToMany :) Now all works pretty good.....; this is my new entity class:
@DynamicUpdate
@Cache(region = "it.eng.angelo.spring.dao.hibernate.models.MediaGalleryTree", usage = CacheConcurrencyStrategy.READ_WRITE)
@Entity
@Table(name = "MEDIA_GALL_TREE", indexes = {@Index(name = "NOME_FOLDER_IDX", columnList = "NOME_FOLDER")})
public class MediaGalleryTree extends AbstractModel
{
private static final long serialVersionUID = -4572195412018767502L;
private long id;
private String text;
private boolean opened;
private boolean disabled;
private boolean selected;
private Set children = new HashSet(0);
private Set media = new HashSet(0);
private MediaGalleryTree father;
private WcmDomain dominio;
public MediaGalleryTree()
{
super();
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_FOLDER", unique = true, nullable = false)
public long getId()
{
return id;
}
public void setId(long id)
{
this.id = id;
}
@Column(name = "NOME_FOLDER", nullable = false, unique=false)
public String getText()
{
return text;
}
public void setText(String text)
{
this.text = text;
}
@Column(name = "OPENED_FOLDER")
public boolean isOpened()
{
return opened;
}
public void setOpened(boolean opened)
{
this.opened = opened;
}
@Column(name = "DISABLED_FOLDER")
public boolean isDisabled()
{
return disabled;
}
public void setDisabled(boolean disabled)
{
this.disabled = disabled;
}
@Column(name = "SELECTED_FOLDER")
public boolean isSelected()
{
return selected;
}
public void setSelected(boolean selected)
{
this.selected = selected;
}
@OneToMany( mappedBy = "father", orphanRemoval = true,
targetEntity = MediaGalleryTree.class)
public Set getChildren()
{
return children;
}
public void setChildren(Set children)
{
this.children = children;
}
@ManyToOne(targetEntity = MediaGalleryTree.class)
@JoinColumn(name = "ID_PADRE", nullable = true)
public MediaGalleryTree getFather()
{
return father;
}
public void setFather(MediaGalleryTree father)
{
this.father = father;
}
@ManyToOne(targetEntity = WcmDomain.class, cascade={CascadeType.ALL})
@JoinColumn(name="ID_DOMINIO", nullable=false)
public WcmDomain getDominio()
{
return dominio;
}
public void setDominio(WcmDomain dominio)
{
this.dominio = dominio;
}
@OneToMany( mappedBy = "folder", orphanRemoval = true,
targetEntity = Media.class, cascade = { CascadeType.ALL })
public Set getMedia()
{
return media;
}
public void setMedia(Set media)
{
this.media = media;
}
}
Angelo