Bom pessoal estou criando um webServices utilizando JavaEE + Hibernate+Rest.
Abaixo estão minhas classes Vinho e uma das que há um relacionamento TipoVinho.
Um Tipo de Vinho pode ter vários Vinhos, e um Vinho só pode ser de um Tipo de Vinho.
Eu fiz os mapeamentos baseado no JAXB, não sei se estão corretos, mas só estou com um problema, quando
vou gerar o Json da minha Lista de Vinho com o código abaixo.
@GET
@Produces({ MediaType.APPLICATION_JSON })
public List<Vinho> getVinhos(){
return vinhoRepository.findAll();
}
Ele me gera o Json somente com os dados da Classe Vinho sem os ids dos relacionamentos.
{"vinho":[{{"IdVinho":"2","NomeVinho":"VinhoA","Imagem":"4.png","Safra":"1213123","Preco":"123123.0"}]}
Como é a minha primeira vez eu não sei ao certo como ele deveria trazer esse Json com as FK como por exemplo o Id do Tipo de Vinho.
Gostaria de uma luz rsrs. Obrigado.
Abaixo classe Vinho.
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@Entity
@Table(name="TBVinho")
public class Vinho implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long IdVinho;
private String NomeVinho;
private String Imagem;
@MapsId
@XmlTransient
@ManyToOne
@JoinColumn(name="IdProdutor")
private Produtor Produtor;
@MapsId
@XmlTransient
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="IdOrigem")
private Origem Origem;
@MapsId
@XmlTransient
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="IdTipoUva")
private TipoUva TipoUva;
@MapsId
@XmlTransient
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="IdTipoVinho")
private TipoVinho TipoVinho;
private int Safra;
private Double Preco;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@Entity
@Table(name="TBTipoVinho")
public class TipoVinho implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long IdTipoVinho;
private String TipoVinho;
@XmlTransient
@OneToMany(targetEntity = Vinho.class,
cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="TipoVinho")
private List<Vinho> Vinho;