Spring Data JPA @OneToMany JSON ответ с родителем не возвращает родителя для второго экземпляра - PullRequest
0 голосов
/ 30 января 2020

У меня есть две сущности в весенних данных JPA, определенных как USER AND USER_ACTIVITY со следующими отношениями: у каждого пользователя есть много действий.

в моей пользовательской сущности я определен как

@Entity
@Getter
@Setter
@Table(name="user")
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="id")
public class User {
   @Id
   @GeneratedValue(strategy=GenerationType.IDENTITY)
   @Column(name="user_id")
   private long id;

   @JsonIgnore
   @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "user")
   private List<UserActivity> userActivities;
}

и мой Пользовательская активность дочерней сущности определяется как

  @Entity
  @Getter
  @Setter
  @Table(name="user_activity")
  @JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="id")
  public class UserActivity {

     @Id
     @GeneratedValue(strategy=GenerationType.IDENTITY)
     @Column(name="id")
     private long id;

     @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "user_id")
     private User user;
   }

Мой репозиторий по активности определяется как

  @Repository
  public interface UserActivityRepository extends JpaRepository<UserActivity, Long> {
      public List<UserActivity> findByActivityDateAndTypeAndUserId(Date dt, String type, 
                   long id);
   }

, когда я использую метод findByActivityDateAndTypeAndUserId в репо, я замечаю, что JSON ответ для второго экземпляра не возвращает родителя. Однако первая деятельность как информация пользователя. Каким-то образом ответ усекает родительский объект во второй записи массива. Вот тот же ответ.

0: {
    id: 31
    activityDate: "2020-01-29"
    start: "2020-01-29T20:34:54.000-0500"
    end: "2020-01-29T20:34:54.000-0500"
    type: "CHECK_IN"
    notes: "CHECK_IN"
    user: {id: 92, username: "xyz@gmail.com", firstName: "x", y: "m",…}
1: {
    id: 32
    activityDate: "2020-01-29"
    start: "2020-01-29T20:34:55.000-0500"
    end: "2020-01-29T20:34:55.000-0500"
    type: "CHECK_OUT"
    notes: "CHECK_OUT"
    user: 2
    } 

См. Второй элемент в массиве для пользовательского поля, вот в чем проблема. Любая помощь очень ценится в этом. СПАСИБО!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...