Java JAX-RS在GET中公开OneToMany实体

Java JAX-RS在GET中公开OneToMany实体,java,rest,jpa,jax-ws,jax-rs,Java,Rest,Jpa,Jax Ws,Jax Rs,我正在潜入JavaEE,学习JPA和JAX-RS。 我想在关系的“拥有”端执行GET请求时公开所有OneToMany实体 我创建了实体Company和CompanyAddress,该公司可以有多个地址(OneToMany),并由CompanyAddress实体中的companyId字段映射 我想公开我的公司,包括在公司上完成一个GET时的所有地址,换句话说,我只想在这个字段上完成GET时显示companyaddress。我怎样才能做到这一点 在我的公司门面课程中: @GET @Path("{id

我正在潜入JavaEE,学习JPA和JAX-RS。 我想在关系的“拥有”端执行GET请求时公开所有OneToMany实体

我创建了实体Company和CompanyAddress,该公司可以有多个地址(OneToMany),并由CompanyAddress实体中的companyId字段映射

我想公开我的公司,包括在公司上完成一个GET时的所有地址,换句话说,我只想在这个字段上完成GET时显示companyaddress。我怎样才能做到这一点

在我的公司门面课程中:

@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public Company find(@PathParam("id") Integer id) {
    return super.find(id);
}
@OneToMany(cascade = CascadeType.ALL, mappedBy = "companyId",fetch=FetchType.EAGER)
private Collection<CompanyAddress> companyAddressCollection;
在我的公司实体类中:

@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public Company find(@PathParam("id") Integer id) {
    return super.find(id);
}
@OneToMany(cascade = CascadeType.ALL, mappedBy = "companyId",fetch=FetchType.EAGER)
private Collection<CompanyAddress> companyAddressCollection;

@XmlTransient
注释对于解决JavaBean属性名和字段名之间的名称冲突或防止字段/属性的映射非常有用


删除
@xmltransive
注释,companyAddressCollection将在
XML
文档中表示。

当访问
GET
路径时,您的结果是什么?xmltransive不会从XML中丢弃地址吗,这与您想要实现的正好相反?这对我很有用,我将XMLTransient标记移动到CompanyAddress实体!我将深入研究所有注释及其功能。