杰克逊没有正确地序列化子类

时间:2017-01-14 19:30:35

标签: java json serialization jackson

我正在使用Jackson为rest api序列化Java对象。在Java中,我有一个继承Admin类的User类。 如果我通过返回Collection<User>的方法从ReactJS请求数据,那么对于Admin对象,我只获得id

以下是我的用户类:

@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@NamedQueries(
        @NamedQuery(name = "User.findByName",
            query = "SELECT u FROM User u WHERE u.firstName = :firstName AND u.lastName = :lastName"))
@Entity
@Table(name = "users")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "user_type")
public class User extends AbstractEntity {

@Basic(optional = false)
@Column(nullable = false, name = "first_name")
private String firstName;

@Basic(optional = false)
@Column(nullable = false, name = "last_name")
private String lastName;

@Basic(optional = false)
@Column(nullable = false, unique = true)
private String email;
...

然后我有管理员类:

@Entity
public class Admin extends User {
}

我希望以管理员和用户的相同形式接收JSON对象,但Admin对象仅使用id进行序列化,而不是其他任何内容。

是否需要Jackson的任何其他配置?

我想这与question

有一些共同点

0 个答案:

没有答案