I am using Jackson to serialize Java objects for rest api. In Java I have an User class from which inherits Admin class.
If I request data from ReactJS through method that returns Collection<User>
I get only id
for Admin objects.
Here is my User class:
@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;
...
Then I have Admin class:
@Entity
public class Admin extends User {
}
I expect to receive JSON objects in same form for Admin as for User, but Admin objects are serialized just with id
and nothing else.
Does it require any additional configuration for Jackson?
I guess it has something incommon with this question