Files
bbps-backend/src/main/java/com/billpaymentservice/bbps/entites/InterchangeFee.java
T
2025-11-10 10:05:43 +05:30

54 lines
1.5 KiB
Java

package com.billpaymentservice.bbps.entites;
import java.util.List;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@Entity
@ToString
@Table(name = "interchange_fee")
public class InterchangeFee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; // Primary key
@Column(name = "interchange_fee_id", nullable = false, unique = true)
@NotBlank(message = "Interchange Fee ID cannot be blank")
private String interchangeFeeId;
@Column(name = "fee_code", nullable = false)
@NotBlank(message = "Fee code is mandatory")
private String feeCode;
@Column(name = "fee_description")
private String feeDesc;
@Column(name = "fee_direction")
private String feeDirection;
// ✅ Relationship with InterchangeFeeDetail (One-to-Many)
@OneToMany(mappedBy = "interchangeFee", cascade = CascadeType.ALL, orphanRemoval = true)
private List<InterchangeFeeDetail> interchangeFeeDetails;
// 🔗 Many InterchangeFee entries belong to one Biller
@ManyToOne
@JoinColumn(name = "biller_id", nullable = false)
private BillerDetails biller;
}