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