Избегайте рекурсии в отношении "один ко многим" в объектах jpa - PullRequest
0 голосов
/ 18 июня 2020

У меня есть два объекта paymentTransaction и paymentCard следующим образом. Когда я получаю paymentTransactions, он застрял в бесконечном звонке от одного к другому. Я пробовал @JsonIgnore, @JsonIdentityInfo и et c, чтобы разобраться с этой проблемой, но ни одна из них не работает. Я запускаю запрос выбора как запрос HQL, например

FROM PassengersLogArchive as pass_log INNER JOIN " +
                "PaymentTransactions as pmt_txn ON pmt_txn.tripId=pass_log.passengersLogId
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Table(name = "payment_transactions")
@NoArgsConstructor
@Entity
public class PaymentTransactions {
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "trip_id")
    private Long tripId;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "card_id")
    private PaymentCards paymentCard;

}


@Data
@Table(name = "payment_cards")
@NoArgsConstructor
@ToString
@Entity
public class PaymentCards {
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "passenger_id")
    private Long passengerId;

    @Column(name = "masked_number")
    private String maskedNumber;
    @OneToMany(mappedBy = "paymentCard", fetch = FetchType.LAZY)
    private List<PaymentTransactions> paymentTransactions;

}
...