如何在REST服务上的实体内显示集合

时间:2015-02-09 16:30:55

标签: java json rest ejb jax-rs

我有这个实体:

@Entity
@Table(name = "aspecto")
public class Aspecto implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;    
    @Size(max = 2147483647)
    @Column(name = "codigo")
    private String codigo;
    @Size(max = 2147483647)
    @Column(name = "nombre")
    private String nombre;
    @Column(name = "creacion")
    @Temporal(TemporalType.TIMESTAMP)
    private Date creacion;    
    @OneToMany(mappedBy = "aspecto")
    private Collection<AspectoItem> aspectoItemCollection;

    public Aspecto() {    
    }

    public Aspecto(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Date getCreacion() {
        return creacion;
    }

    public void setCreacion(Date creacion) {
        this.creacion = creacion;
    }

    @XmlTransient
    public Collection<AspectoItem> getAspectoItemCollection() {
        return aspectoItemCollection;
    }

    public void setAspectoItemCollection(Collection<AspectoItem> aspectoItemCollection) {
        this.aspectoItemCollection = aspectoItemCollection;
    }
}   

我使用REST Web项目,我得到如下结果:

public List<Aspecto> cargarAspectos() { 
        List<Aspecto>       aspectos    = null;    

        try{
            aspectos = aspectoFacade.findByQuery("select a from Aspecto a order by a.id");
        }
        catch (Exception e) {
            e.printStackTrace();
        }

        return aspectos;        
    }    

    @GET
    @Path("getAspectosTotal")
    @Produces({"application/json; charset=utf-8"})
    public List<Aspecto> getAspectosTotal() {    
        List<Aspecto>   aspectos    = cargarAspectos();

        return aspectos; 
    }

但问题是,当我获取结果时,实体的内部集合( aspectoItemCollection )不会显示在JSON文档中。

0 个答案:

没有答案