Olá, pessoal
Gostaria de Saber se possivel fazer uma associação utilizando como chave estrangeira um atributo transiente
Ex.:
public class Gerente {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long codGerente;
private String nome;
@Transient
private final String tipoUsuario = "gerente";
@ManyToOne(fetch = FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumns({
@JoinColumn(name="codGerente"),
@JoinColumn(name="tipoUsuario") // COMO PASSAR INVES DE UMA COLUNA, UM VALOR
})
private Usuario usuario;
}
Usuario possui como chave composta COD_USUARIO e TIPO
O TIPO determina em qual tabela será feita a BUSCA, se o tipo for cliente, vai procurar o usuario na tabela cliente, se for funcionario, vai na tabela de funcionarios e assim por diante...
Att. Dirceu Sobrinho