Era quase isso, só que esqueci de dizer uma coisa, o resultado deveria ser uma lista de Salesiano(é o mesmo que Padre),
so q tem uma coisa, minhas classes nao estao mapeadas dessa maneira q vc colocou:
Acho q o mapeamento correto para as minhas classes seria
public class Usuario {
private int id;
private Pessoa pessoa;
}
public class Pessoa{
private int id;
}
public class Salesianos{
private int id;
private Pessoa pessoa;
}
Desculpe, eu esqueci de colocar as minhas classes modelo , mas ai estao:(to colocando pra ver se esta certo com o q eu escrevi acima)
Usuario
@Entity
public class Usuario implements Serializable {
@Id
@SequenceGenerator(name="generator_usuario",sequenceName="sequence_usuario")
@GeneratedValue(generator="generator_usuario")
private Integer usu_id;
@Column(length=100)
private String usu_nome;
@Column(length=100)
private String usu_tipo;
@ManyToOne
@ForeignKey(name="usuario_fkey_pessoas_01")
@JoinColumn(name="pes_id")
private Pessoas pessoas;
@Column(length=100)
private String usu_senha;
Pessoa
@Entity
public class Pessoas implements Serializable {
public Pessoas() {
}
@Id
@SequenceGenerator(name="generator_pessoa",sequenceName="sequence_pessoa")
@GeneratedValue(generator="generator_pessoa")
private Integer pes_id;
@ManyToOne
//@ForeignKey(name="nomeTabela_fkey_nomeAtributo_01")
@ForeignKey(name="pessoa_fkey_cidade_01")
//@JoinColumn(name="baseadoNoAtributo")
@JoinColumn(name="cid_id")
private Cidade cidade;
@ManyToOne
@ForeignKey(name="pessoa_fkey_estado_01")
@JoinColumn(name="est_id")
private Estado estado;
@Column(length=100)
private String pes_prenome;
@Column(length=100)
private String pes_nome_meio;
@Column(length=100)
private String pes_sobrenome;
@Column
private String pes_nome_italiano;
@Column(length=100)
private String pes_nome_pais_origem;
@Column
@Temporal(TemporalType.DATE)
private Date pes_data_nascimento;
@Column(length=100)
private String pes_rg_num;
@Column
@Temporal(TemporalType.DATE)
private Date pes_rg_dat;
@Column(length=100)
private String pes_rg_expedidor;
@Column
private Long pes_cpf;
@Column
private Long pes_telefone1;
@Column
private Long pes_telefone2;
@Column
private Long pes_telefone3;
@Column
private String pes_nome_traduzido;
@Column
private String pes_email_pessoal;
@Column
private Long pes_cep;
@Column(length=100)
private String pes_logradouro;
@Column(length=100)
private String pes_bairro;
@Column(length=100)
private Long pes_numero;
@Column(length=100)
private String pes_complemento;
@Column(length=100)
private String pes_nom_completo;
Salesianos
@Entity
public class Salesianos implements Serializable {
@Id
@SequenceGenerator(name="generator_salesianos",sequenceName="sequence_salesianos")
@GeneratedValue(generator="generator_salesianos")
private Integer sal_id;
@ManyToOne
//@ForeignKey(name="nomeTabela_fkey_nomeAtributo_01")
@ForeignKey(name="salesianos_fkey_pessoas_01")
//@JoinColumn(name="baseadoNoAtributo")
@JoinColumn(name="pes_id")
private Pessoas pessoas;
@ManyToOne
@ForeignKey(name="salesianos_fkey_categoria_01")
@JoinColumn(name="cat_id")
private Categoria categoria;
@ManyToOne
@ForeignKey(name="salesianos_fkey_estado_01")
@JoinColumn(name="est_id")
private Estado estado;
//@Lob
//private byte[] sal_foto;
@Column(length=100)
private String sal_site;
@Column(length=100)
private String sal_email_institucional;
@Column(length=100)
private String sal_unimed;
@Column
private String sal_titulo_honorifico;
@Column
private String sal_hobby;
@Column
private String sal_dados_biograficos;
@Column
private String sal_apelido;
@Column
private String sal_linguas;
@Column
@Temporal(TemporalType.DATE)
private Date sal_data_falecimento;
@Column
private String sal_local_falecimento;
@Column
private String sal_pais_falecimento;
@Column
private String sal_local_enterro;