package com.billpaymentservice.bbps.entites; import jakarta.persistence.*; import jakarta.validation.constraints.*; import lombok.Getter; import lombok.Setter; @Getter @Setter @Entity @Table(name = "biller_payment_modes") public class PaymentMode { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "payment_model_limit_id", unique = true, length = 50) @NotBlank(message = "Payment model limit ID cannot be blank") private String paymentModelLimitId; @Column(name = "payment_mode", nullable = false, length = 50) @NotBlank(message = "Payment mode is mandatory") private String paymentMode; @Column(name = "max_limit") @PositiveOrZero(message = "Max limit must be zero or positive") private long maxLimit; @Column(name = "min_limit") @PositiveOrZero(message = "Min limit must be zero or positive") private long minLimit; @Column(name = "support_pending_status", length = 10) @Pattern(regexp = "^(Yes|No)?$", message = "Support pending status must be either 'Yes' or 'No'") private String supportPendingStatus; // 🔗 Many-to-One relationship with BillerDAO @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "biller_id", nullable = false) private BillerDetails biller; }