@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType=DiscriminatorType.CHAR,length=1,name="tipo_pessoa")
@DiscriminatorValue(value="0")
@DiscriminatorFormula(value = "case when tipo_pessoa is null then 'F' end")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType=DiscriminatorType.CHAR,length=1,name="tipo_pessoa")
@DiscriminatorValue(value="0")
@DiscriminatorFormula(value = "case when tipo_pessoa is null then 'F' end")
// Outro exemplo de @DiscriminatorFormula
//@DiscriminatorFormula(value = "case when tipo_pessoa in ('X', 'Y', 'Z') then 'F' end")
@SequenceGenerator(name="seq", sequenceName="seq", allocationSize=1)
public class Pessoa{
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq")
private int id;
private String tipo_pessoa;
}
@Entity
@SequenceGenerator(name="seq", sequenceName="seq", allocationSize=1)
@DiscriminatorValue(value="J")
public class PessoaJuridica Extendes Pessoa{
private Integer cnpj;
}
@Entity
@SequenceGenerator(name="seq", sequenceName="seq", allocationSize=1)
@DiscriminatorValue(value="F")
public class PessoaFisica Extendes Pessoa{
private Integer cpf;
}
//@DiscriminatorFormula(value = "case when tipo_pessoa in ('X', 'Y', 'Z') then 'F' end")
@SequenceGenerator(name="seq", sequenceName="seq", allocationSize=1)
public class Pessoa{
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq")
private int id;
private String tipo_pessoa;
}
@Entity
@SequenceGenerator(name="seq", sequenceName="seq", allocationSize=1)
@DiscriminatorValue(value="J")
public class PessoaJuridica Extendes Pessoa{
private Integer cnpj;
}
@Entity
@SequenceGenerator(name="seq", sequenceName="seq", allocationSize=1)
@DiscriminatorValue(value="F")
public class PessoaFisica Extendes Pessoa{
private Integer cpf;
}