如何获得打印引用实体的选定字段的json ResponseBody?

时间:2015-01-08 16:30:53

标签: json spring-mvc jackson

我需要能够做以下两件事:

  1. 使用对象管理器的json表示返回。
  2. 使用对象Party的json表示返回,但仅打印管理器的ID。
  3. 使用对象Party的json表示返回,但仅打印Organizer的firstName。
  4. 如果我使用@JsonIdentityInfo和@JsonIdentityReference注释注释类Party的Organizer字段,如下所示,它满足条件1& 2以上。

    但是,我怎么能做到3以上?将注释更改为@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property =" firstName")不起作用。

    派对的课程

    @Entity
    public  class Party implements Serializable {
    
        @Column(nullable=false)
        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        private Long id;
    
        @ManyToOne(cascade={CascadeType.ALL},targetEntity=Organizer.class)
        @JoinColumn(name="id_Organizer",referencedColumnName="id",nullable=false,updatable=false)
        @JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
        @JsonIdentityReference(alwaysAsId=true)
        private Organizer id_Organizer;
    
        @Column(name="startDate")
        @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
        private Timestamp start;
    }
    

    组织者的课程

    @Entity
    public  class Orgaznizer implements Serializable {
    
        @Column(nullable=false)
        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        private Long id;
    
        @Basic
        private String firstName;
    
        @Basic
        private String lastName;
    
    }
    

0 个答案:

没有答案