package org.tests.model.selfref;
import io.ebean.annotation.PrivateOwned;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import java.util.HashSet;
import java.util.Set;
@Entity
@Table(name = "resourcefile")
public class ResourceFile extends BaseResourceFile {
private static final long serialVersionUID = 1L;
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(name = "parentResourceFileId", nullable = true)
private ResourceFile parent;
@OneToMany(cascade = CascadeType.REMOVE, fetch = FetchType.LAZY, mappedBy = "parent")
@PrivateOwned
private Set<ResourceFile> alternatives = new HashSet<>();
@Column(name = "name", length = 128, nullable = false)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ResourceFile getParent() {
return parent;
}
public void setParent(ResourceFile parent) {
this.parent = parent;
}
public Set<ResourceFile> getAlternatives() {
return alternatives;
}
public void setAlternatives(Set<ResourceFile> alternatives) {
this.alternatives = alternatives;
}
}