Bom dia galera, depois de algum tempo hoje irei postar um exemplo de hibernate usando chave composta....
Primeiramente vamos a tabela:
Permissoes
usuario #
grupo #
centro_de_custo #
# chaves compostas
Agora vamos mapear isso usando hibernate annotations com jpa.
Classe Permissoes:
Criaremos então uma nova classe que contém essas chaves:
De acordo com a documentação para fazer um mapeamento de chaves compostas a classe que contém o nome com final PK deve sobreescrever o método equals e hascode e também implementar Serializable.
Na documentação do hibernate tem outras duas formas de mapeamento usando @Id ou @EmbeddedId.
Veja este exemplo usando @Id:
esses exemplos são para guardar, futuramentem precisarei com ctz.
mais exemplos siga:
http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#d0e1659
[]'s
Primeiramente vamos a tabela:
Permissoes
usuario #
grupo #
centro_de_custo #
# chaves compostas
Agora vamos mapear isso usando hibernate annotations com jpa.
Classe Permissoes:
@Entity
@Table(name = "permissoes")
@IdClass(PermissoesPk.class)
public class Permissoes implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "usuario")
private String usuario;
@Id
@Column(name = "grupo")
private String grupo;
@Id
@Column(name = "centro_de_custo")
private int centroDeCusto;
// gets e sets
}
Criaremos então uma nova classe que contém essas chaves:
@Embeddable
public class PermissoesPk implements Serializable {
private static final long serialVersionUID = 1L;
private String grupo;
private String usuario;
private int centroDeCusto;
// gets e sets
}
De acordo com a documentação para fazer um mapeamento de chaves compostas a classe que contém o nome com final PK deve sobreescrever o método equals e hascode e também implementar Serializable.
Na documentação do hibernate tem outras duas formas de mapeamento usando @Id ou @EmbeddedId.
Veja este exemplo usando @Id:
@Entity
public class RegionalArticle implements Serializable {
@Id
public RegionalArticlePk getPk() { ... }
}
@Embeddable
public class RegionalArticlePk implements Serializable { ... }
Veja este exemplo usando @EmbeddedId:
@Entity
public class RegionalArticle implements Serializable {
@EmbeddedId
public RegionalArticlePk getPk() { ... }
}
public class RegionalArticlePk implements Serializable { ... }
esses exemplos são para guardar, futuramentem precisarei com ctz.
mais exemplos siga:
http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#d0e1659
[]'s
Nenhum comentário:
Postar um comentário