FINERACT-2091: Support for string type primary keys

This commit is contained in:
Marta Jankovics
2024-06-13 20:29:23 +02:00
committed by Adam Saghy
parent 111e28ed1b
commit f48f94c454
216 changed files with 243 additions and 273 deletions
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
@Entity
@Table(name = "m_loan_collateral")
public class LoanCollateral extends AbstractPersistableCustom {
public class LoanCollateral extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_id", nullable = false)
@@ -39,7 +39,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement
@Entity
@Table(name = "m_client_collateral_management")
public class ClientCollateralManagement extends AbstractPersistableCustom {
public class ClientCollateralManagement extends AbstractPersistableCustom<Long> {
@Column(name = "quantity", nullable = false, scale = 5, precision = 20)
private BigDecimal quantity;
@@ -39,7 +39,7 @@ import org.apache.fineract.portfolio.collateralmanagement.api.CollateralManageme
@Entity
@Table(name = "m_collateral_management")
public class CollateralManagementDomain extends AbstractPersistableCustom {
public class CollateralManagementDomain extends AbstractPersistableCustom<Long> {
@Column(name = "name", length = 20, columnDefinition = " ")
private String name;
@@ -35,7 +35,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDa
@Entity
@Table(name = "m_delinquency_bucket_mappings", uniqueConstraints = {
@UniqueConstraint(name = "uq_delinquency_bucket_mapping", columnNames = { "delinquencyBucket", "delinquencyRange" }) })
public class DelinquencyBucketMappings extends AbstractAuditableWithUTCDateTimeCustom {
public class DelinquencyBucketMappings extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "delinquency_bucket_id", nullable = false)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
@NoArgsConstructor
@Entity
@Table(name = "m_loan_delinquency_action")
public class LoanDelinquencyAction extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanDelinquencyAction extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -36,7 +36,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan;
@NoArgsConstructor
@Entity
@Table(name = "m_loan_delinquency_tag_history")
public class LoanDelinquencyTagHistory extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanDelinquencyTagHistory extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "delinquency_range_id", nullable = false)
@@ -38,7 +38,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleIns
@NoArgsConstructor
@Entity
@Table(name = "m_loan_installment_delinquency_tag")
public class LoanInstallmentDelinquencyTag extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanInstallmentDelinquencyTag extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "delinquency_range_id", nullable = false)
@@ -33,7 +33,7 @@ import org.apache.fineract.portfolio.group.domain.Group;
@Entity
@Table(name = "glim_accounts", uniqueConstraints = { @UniqueConstraint(columnNames = { "account_number" }, name = "FK_glim_id") })
public class GroupLoanIndividualMonitoringAccount extends AbstractPersistableCustom {
public class GroupLoanIndividualMonitoringAccount extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "group_id", nullable = false)
@@ -154,7 +154,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@UniqueConstraint(columnNames = { "external_id" }, name = "loan_externalid_UNIQUE") })
@Setter
@Getter
public class Loan extends AbstractAuditableWithUTCDateTimeCustom {
public class Loan extends AbstractAuditableWithUTCDateTimeCustom<Long> {
public static final String RECALCULATE_LOAN_SCHEDULE = "recalculateLoanSchedule";
public static final String EXTERNAL_ID = "externalId";
@@ -60,7 +60,7 @@ import org.apache.fineract.portfolio.loanaccount.data.LoanInstallmentChargeData;
@Entity
@Table(name = "m_loan_charge", uniqueConstraints = { @UniqueConstraint(columnNames = { "external_id" }, name = "external_id") })
public class LoanCharge extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanCharge extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_id", referencedColumnName = "id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_loan_charge_paid_by")
public class LoanChargePaidBy extends AbstractPersistableCustom {
public class LoanChargePaidBy extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_transaction_id", nullable = false)
@@ -30,7 +30,7 @@ import org.apache.fineract.portfolio.loanaccount.data.LoanCollateralManagementDa
@Entity
@Table(name = "m_loan_collateral_management")
public class LoanCollateralManagement extends AbstractPersistableCustom {
public class LoanCollateralManagement extends AbstractPersistableCustom<Long> {
@Column(name = "quantity", nullable = false, scale = 5, precision = 20)
private BigDecimal quantity;
@@ -46,7 +46,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.CreditAllocationTransact
@UniqueConstraint(columnNames = { "loan_id", "transaction_type" }, name = "uq_m_loan_credit_allocation_rule") })
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class LoanCreditAllocationRule extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanCreditAllocationRule extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -32,7 +32,7 @@ import org.apache.fineract.portfolio.loanaccount.data.DisbursementData;
@Entity
@Table(name = "m_loan_disbursement_detail")
public class LoanDisbursementDetails extends AbstractPersistableCustom {
public class LoanDisbursementDetails extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -32,7 +32,7 @@ import org.apache.fineract.portfolio.loanaccount.data.LoanInstallmentChargeData;
@Entity
@Table(name = "m_loan_installment_charge")
public class LoanInstallmentCharge extends AbstractPersistableCustom implements Comparable<LoanInstallmentCharge> {
public class LoanInstallmentCharge extends AbstractPersistableCustom<Long> implements Comparable<LoanInstallmentCharge> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_charge_id", referencedColumnName = "id", nullable = false)
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_loan_interest_recalculation_additional_details")
public class LoanInterestRecalcualtionAdditionalDetails extends AbstractPersistableCustom {
public class LoanInterestRecalcualtionAdditionalDetails extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_repayment_schedule_id", nullable = false)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.RecalculationFrequencyTy
@Entity
@Table(name = "m_loan_recalculation_details")
public class LoanInterestRecalculationDetails extends AbstractPersistableCustom {
public class LoanInterestRecalculationDetails extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Getter
@Table(name = "m_loan_overdue_installment_charge")
public class LoanOverdueInstallmentCharge extends AbstractPersistableCustom {
public class LoanOverdueInstallmentCharge extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_charge_id", referencedColumnName = "id", nullable = false)
@@ -47,7 +47,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.PaymentAllocationTypeLis
@UniqueConstraint(columnNames = { "loan_id", "transaction_type" }, name = "uq_m_loan_payment_allocation_rule") })
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class LoanPaymentAllocationRule extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanPaymentAllocationRule extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -40,7 +40,7 @@ import org.apache.fineract.portfolio.repaymentwithpostdatedchecks.domain.PostDat
@Entity
@Table(name = "m_loan_repayment_schedule")
public class LoanRepaymentScheduleInstallment extends AbstractAuditableWithUTCDateTimeCustom
public class LoanRepaymentScheduleInstallment extends AbstractAuditableWithUTCDateTimeCustom<Long>
implements Comparable<LoanRepaymentScheduleInstallment> {
@ManyToOne(optional = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.portfolio.loanaccount.rescheduleloan.domain.LoanResch
@Entity
@Table(name = "m_loan_reschedule_request_term_variations_mapping")
public class LoanRescheduleRequestToTermVariationMapping extends AbstractPersistableCustom {
public class LoanRescheduleRequestToTermVariationMapping extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "loan_reschedule_request_id", nullable = false)
@@ -38,7 +38,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDa
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class LoanStatusChangeHistory extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanStatusChangeHistory extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -34,7 +34,7 @@ import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations;
@Entity
@Table(name = "m_loan_term_variations")
public class LoanTermVariations extends AbstractPersistableCustom {
public class LoanTermVariations extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_loan_topup")
public class LoanTopupDetails extends AbstractPersistableCustom {
public class LoanTopupDetails extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -28,7 +28,7 @@ import org.apache.fineract.portfolio.charge.domain.Charge;
@Entity
@Table(name = "m_loan_tranche_charges")
public class LoanTrancheCharge extends AbstractPersistableCustom {
public class LoanTrancheCharge extends AbstractPersistableCustom<Long> {
@ManyToOne(cascade = CascadeType.ALL, optional = false)
@JoinColumn(name = "loan_id", nullable = false)
@@ -27,7 +27,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_loan_tranche_disbursement_charge")
public class LoanTrancheDisbursementCharge extends AbstractPersistableCustom {
public class LoanTrancheDisbursementCharge extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_charge_id", referencedColumnName = "id", nullable = false)
@@ -60,7 +60,7 @@ import org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail;
*/
@Entity
@Table(name = "m_loan_transaction", uniqueConstraints = { @UniqueConstraint(columnNames = { "external_id" }, name = "external_id_UNIQUE") })
public class LoanTransaction extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanTransaction extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_id", nullable = false)
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDa
@Getter
@Entity
@Table(name = "m_loan_transaction_relation")
public class LoanTransactionRelation extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanTransactionRelation extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "from_loan_transaction_id", nullable = false)
@@ -31,7 +31,7 @@ import org.apache.fineract.organisation.monetary.domain.Money;
@Entity
@Table(name = "m_loan_transaction_repayment_schedule_mapping")
public class LoanTransactionToRepaymentScheduleMapping extends AbstractPersistableCustom {
public class LoanTransactionToRepaymentScheduleMapping extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false, cascade = CascadeType.PERSIST)
@JoinColumn(name = "loan_transaction_id", nullable = false)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
@Table(name = "m_loan_reage_parameter")
@AllArgsConstructor
@Getter
public class LoanReAgeParameter extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanReAgeParameter extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@OneToOne
@JoinColumn(name = "loan_transaction_id", nullable = false)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.loanaccount.rescheduleloan.domain.LoanResch
@Entity
@Table(name = "m_loan_repayment_schedule_history")
public class LoanRepaymentScheduleHistory extends AbstractPersistableCustom {
public class LoanRepaymentScheduleHistory extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_id")
@@ -40,7 +40,7 @@ import org.apache.fineract.useradministration.domain.AppUser;
@Entity
@Table(name = "m_loan_reschedule_request")
public class LoanRescheduleRequest extends AbstractPersistableCustom {
public class LoanRescheduleRequest extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_id", nullable = false)
@@ -84,7 +84,7 @@ import org.apache.fineract.portfolio.rate.domain.Rate;
@Table(name = "m_product_loan", uniqueConstraints = { @UniqueConstraint(columnNames = { "name" }, name = "unq_name"),
@UniqueConstraint(columnNames = { "external_id" }, name = "external_id_UNIQUE"),
@UniqueConstraint(columnNames = { "short_name" }, name = "unq_short_name") })
public class LoanProduct extends AbstractPersistableCustom {
public class LoanProduct extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "fund_id")
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
@Entity
@Table(name = "m_product_loan_variations_borrower_cycle")
public class LoanProductBorrowerCycleVariations extends AbstractPersistableCustom {
public class LoanProductBorrowerCycleVariations extends AbstractPersistableCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_product_id", nullable = false)
@@ -31,7 +31,7 @@ import org.apache.fineract.portfolio.loanproduct.LoanProductConstants;
@Entity
@Table(name = "m_product_loan_configurable_attributes")
public class LoanProductConfigurableAttributes extends AbstractPersistableCustom implements Serializable {
public class LoanProductConfigurableAttributes extends AbstractPersistableCustom<Long> implements Serializable {
@OneToOne
@JoinColumn(name = "loan_product_id", nullable = false)
@@ -43,7 +43,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDa
@UniqueConstraint(columnNames = { "loan_product_id", "transaction_type" }, name = "uq_m_loan_product_credit_allocation_rule") })
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class LoanProductCreditAllocationRule extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanProductCreditAllocationRule extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_product_id", nullable = false)
@@ -36,7 +36,7 @@ import org.apache.fineract.portfolio.floatingrates.domain.FloatingRate;
@Entity
@Table(name = "m_product_loan_floating_rates")
public class LoanProductFloatingRates extends AbstractPersistableCustom {
public class LoanProductFloatingRates extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "loan_product_id", nullable = false)
@@ -37,7 +37,7 @@ import org.apache.fineract.portfolio.loanproduct.LoanProductConstants;
@Entity
@Table(name = "m_product_loan_guarantee_details")
public class LoanProductGuaranteeDetails extends AbstractPersistableCustom {
public class LoanProductGuaranteeDetails extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "loan_product_id", nullable = false)
@@ -36,7 +36,7 @@ import org.apache.fineract.portfolio.loanproduct.LoanProductConstants;
@Entity
@Table(name = "m_product_loan_recalculation_details")
public class LoanProductInterestRecalculationDetails extends AbstractPersistableCustom {
public class LoanProductInterestRecalculationDetails extends AbstractPersistableCustom<Long> {
@OneToOne
@JoinColumn(name = "product_id", nullable = false)
@@ -43,7 +43,7 @@ import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDa
@UniqueConstraint(columnNames = { "loan_product_id", "transaction_type" }, name = "uq_m_loan_product_payment_allocation_rule") })
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class LoanProductPaymentAllocationRule extends AbstractAuditableWithUTCDateTimeCustom {
public class LoanProductPaymentAllocationRule extends AbstractAuditableWithUTCDateTimeCustom<Long> {
@ManyToOne
@JoinColumn(name = "loan_product_id", nullable = false)
@@ -38,7 +38,7 @@ import org.apache.fineract.portfolio.loanproduct.LoanProductConstants;
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "m_product_loan_variable_installment_config")
public class LoanProductVariableInstallmentConfig extends AbstractPersistableCustom {
public class LoanProductVariableInstallmentConfig extends AbstractPersistableCustom<Long> {
@Setter
@OneToOne
@@ -34,7 +34,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleIns
@Entity
@Table(name = "m_repayment_with_post_dated_checks")
public class PostDatedChecks extends AbstractPersistableCustom {
public class PostDatedChecks extends AbstractPersistableCustom<Long> {
@ManyToOne(optional = false)
@JoinColumn(name = "loan_id", referencedColumnName = "id", nullable = false)