I have 3 entities:
SLUSER_INFO(SLUSER_INFO_ID, FULLNAME, FIRSTNAME, LASTNAME, ADDRESS, DOB) SLUSER(SLUSER_ID, PASSWORD, USERNAME, SLUSER_INFO_ID) SLROLE(SLROLE_ID, ROLENAME, SLUSER_ID) In User entity:
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true) @JsonView(SlUserView.Full.class) private List<SlRole> roles; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "SLUSER_INFO_ID", referencedColumnName = "SLUSER_INFO_ID") @JsonView(SlUserView.Full.class) private SlUserInfo userInfo; In Role entity:
@ManyToOne @JoinColumn(name = "SLUSER_ID", referencedColumnName = "SLUSER_ID") private SlUser user; and User_info entity
@OneToOne(mappedBy = "userInfo") private SlUser user; I create the rest api to get all user by using JPARepository findAll
@Repository public interface SlUserRepository extends JpaRepository<SlUser, Long> { } Controller
public ResponseEntity<Page<SlUser>> findAll(Pageable pageable) { Page<SlUser> pageResult = usersRepository.findAll(pageable); return new ResponseEntity<Page<SlUser>>(pageResult, HttpStatus.OK); } try to run the rest api, the results are duplicated data.
{"content":[{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":{"id":1,"username":"v7001","password":"admin","roles":[{"id":1,"roleName":"ADMIN"}],"userInfo":{"id":1,"fullName":"","firstName":"Jayce","lastName":"Sonar","address":"ad1","dob":null,"user":
Please give me advise
UserandRoles. Use@JsonIgnoreonrolesinUserentity.