package com.billpaymentservice.bbps.entites; import java.util.List; import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.Id; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import lombok.Getter; import lombok.Setter; @Getter @Setter @Entity @Table(name = "bbps_bill_payment") public class BillPayment extends Auditable { @Id @Column(name = "txn_id") private String txnId; @Column(name = "ref_id") private String refId; @Column(name = "biller_id") private String billerId; @Column(name = "biller_category") private String billerCategory; @Column(name = "biller_name") private String billerName; @Column(name = "payment_mode") private String paymentMode; @Column(name = "txn_amount") private double txnAmount; @Column(name = "status") private String status; @Column(name = "currency") private String currency; @Column(name = "payment_channel") private String paymentChannel; @Column(name = "customer_mobile") private String customerMobNo; // 🔗 One bill payment has many remitter identities @OneToMany(mappedBy = "billPayment", cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true) private List remitterIdentities; }