segunda-feira, 1 de outubro de 2018

Criando tabelas através das entidades com Hibernate 5.3

Considere que esta modelando um sistema orientado a objetos e você queira transformar essas entidades em tabelas no banco de dados relacional.

Pegamos como exemplo duas entidades Autor e Livro.

Autor terá os atributos id e nome como na imagem abaixo:





Livro terá os atributos id,titulo,isbn,autor e preço como na imagem abaixo:


Apos gerar os getters e setters e colocar as  anotações como nas imagens abaixo:


@Entity- informa que a classe é uma entidade.
@DynamicInsert - apenas os campos com valores serão persistidos.
@Table- serve para definir nome da tabela e definir índices.
@Index - cria índices de acordo com lista de colunas .
@Id - informa qual campo sera a chave primaria da tabela.
@GeneratedValue - o valor da chave primaria sera gerada como auto-incremente (IDENTITY).
@OneToMany  informa que a entidade esta relacionado a registros de outra entidade.




@UniqueConstraint - cria valores únicos de acordo com as colunas.
@NaturalId - informa que o campo é um id natural da entidade.
@ManyToOne - informa que muitos registros de uma entidade associado a um registro de outra  entidade.
@JoinColumn - define campo relacionado ao manytoone.
@ForeingKey - define nome da chave estrangeira.
@ColumnDefault - define valor padrão do campo.

pom.xml



Classe que conecta no banco de dados e cria as tabelas de acordo com as entidades:




Execute a aplicação e veja log:


Veja as tabelas no banco de dados:



Nenhum comentário:

Postar um comentário