Spring Rest Json与JPA实体和DTO' s

时间:2017-04-25 18:40:28

标签: java json spring rest jpa

在我的Spring启动中,我有用户@Entity喜欢:

用户:

public class User {
    private long id;
    private String username;
    private String password;
    private String email;
    private LocalDate birthday;
    private boolean enabled = false;
    private String firstName;
    private String lastName;
    private String address;

    @ManyToMany(mappedBy = "users")
    private Set<Game> games;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gameOwner", orphanRemoval = true)
    private List<Game> gamesOwned;
}

在Rest API中。我想创建User,因此我创建了UserDto

public class UserDto {
    private String username;
    private String password;
    private String email;
    private LocalDate birthday;

    private String firstName;
    private String lastName;
    private String address;
}

问题吗

我有User实体和DTO课程。要创建用户,我使用DTO类。为了得到用户我不能使用DTO类,因为它包含的信息少于i除外。我应该使用User注释@JsonIgnore课程还是创建另一个DTO

1 个答案:

答案 0 :(得分:0)

字段passwordConfirm适用于DTO类但不适用于实体。在DTO中,您将passwordpasswordConfirm匹配,但在实体类中,这两个字段应具有相同的值,因此您不需要两个字段。

为什么要创建UserInfos课程?为什么此类中的字段不能在User类中?如果您将UserInfos字段添加到User类,则可能会更简单。