package org.hibernate.test.annotations.onetoone.hhh4851;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING, name = "DeviceType", length = 1)
@DiscriminatorValue(value = "C")
public class Hardware extends BaseEntity {
private Hardware parent = null;
protected Hardware() {
}
public Hardware(Hardware parent) {
this.parent = parent;
}
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_id")
public Hardware getParent() {
return this.parent;
}
public void setParent(Hardware parent) {
this.parent = parent;
}
}