Olá,
Estou utilizando o Hibernate com Annotation, gostaria de saber a possibilidade de carregar um objeto com uma subquery através do annotation, vou tentar exemplificar nas classes abaixo.
Tenho a classe Cliente e Endereco, onde um cliente possui vários endereços, porém um dos endereços é marcado como cobrança, seu campo cobranca = ‘S’. Gostaria de criar um objeto Endereco na classe Cliente para carregar esse registro de cobrança. Sei que se colocasse um ID_ENDERECO alimentando esse campo com o id do endereço de cobrança funcionaria, mas uso isso com certa frequencia e se não houvesse essa necessidade seria melhor.
public class Cliente implements Serializable {
@Id
@Column(name = "ID", nullable = false)
private Long id;
@Column(name = "NOME")
private String nome;
// CARREGAR AQUI POR SUBQUERY, GARANTINDO QUE RETORNARÁ APENAS UM REGISTRO
@Column(name = “<Select e from Endereco where idCliente = id and cobranca = ‘S’>”)
private Endereco enderecoCobranca;
}
public class Endereco implements Serializable {
@Id
@Column(name = "ID", nullable = false)
private Long id;
@Column(name = "ID_CLIENTE", nullable = false)
private Long idCliente;
@Column(name = "COBRANCA", nullable = false)
private Character cobranca;
@Column(name = "RUA")
private String rua;
}
Obrigado,
Vitor