Imagem de fundo

Um dos principais recursos que o “framework” de...

Um dos principais recursos que o “framework” de persistência denominado “Hibernate” oferece é a opção de criar mapeamentos entre modelos de objetos e modelos relacionais através de anotações, essa técnica é denominada de “Object-Relational Mapping (ORM)”. A partir desse mecanismo é possível especificar, no código orientado a objeto, os relacionamentos modelados em um banco de dados relacional. O diagrama abaixo representa o relacionamento entre duas tabelas do banco de dados, as colunas “Id” representam as chaves primárias de cada tabela e a coluna “Id_Pedido” representa uma chave estrangeira:


Imagem associada para resolução da questão


Observando-se que cada tabela do modelo será representada como uma classe Java, e que usaremos as anotações do “Hibernate” para o mapeamento entre essas classes e as tabelas do banco, podemos representar esse mapeamento por meio das seguintes anotações:


A

Na classe ItemPedido:

@ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL)

@JoinColumn(name="Id_Pedido")

private Pedido pedido;


B

Na classe Pedido:

@ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL)

@JoinColumn(name="Id")

private ItemPedido;


C

Na classe ItemPedido:

@OneToMany(mappedBy = "Pedido", cascade = CascadeType.ALL)

private Set <ItemPedido> lsItemPedido;


D

Na classe Pedido:

@ManytoOne(mappedBy = "Pedido", cascade = CascadeType.ALL)

private Set <ItemPedido> lsItemPedido;


E

Na classe Pedido:

@OneToMany(mappedBy = "itemPedido", cascade = CascadeType.ALL)

private Set <Pedido> lsPedido;