package org.hibernate.test.annotations.derivedidentities.e1.a;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.Cascade;
/**
* @author Emmanuel Bernard
*/
@Entity
@IdClass(DependentId.class)
public class Dependent {
private String name;
// id attribute mapped by join column default
private Employee emp;
public Dependent() {
}
public Dependent(String name, Employee emp) {
this.name = name;
this.emp = emp;
}
@Id
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Id
@ManyToOne( cascade = CascadeType.PERSIST )
@Cascade( org.hibernate.annotations.CascadeType.SAVE_UPDATE )
@JoinColumn(nullable=false)
public Employee getEmp() {
return emp;
}
public void setEmp(Employee emp) {
this.emp = emp;
}
}