0% found this document useful (0 votes)
3 views15 pages

Entity

The document outlines the definitions of several database tables related to endorsement details, including endorsement details, PII information, address details, nominee details, appointee details, and dependent details. Each table is defined with specific fields, data types, and relationships, including foreign key constraints. Additionally, it includes a Java Spring Boot entity class for the endorsement details table, with annotations for database mapping and enumerations for specific fields.

Uploaded by

Akash Padir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views15 pages

Entity

The document outlines the definitions of several database tables related to endorsement details, including endorsement details, PII information, address details, nominee details, appointee details, and dependent details. Each table is defined with specific fields, data types, and relationships, including foreign key constraints. Additionally, it includes a Java Spring Boot entity class for the endorsement details table, with annotations for database mapping and enumerations for specific fields.

Uploaded by

Akash Padir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 15

I have below Tables

1. endorsement_details
-- sit_pi_group.endorsement_details definition

CREATE TABLE `endorsement_details` (


`endorsement_id` bigint NOT NULL AUTO_INCREMENT,
`employee_id` varchar(50) NOT NULL,
`policy_number` varchar(100) NOT NULL,
`corporate_id` varchar(255) DEFAULT NULL,
`health_id` varchar(255) DEFAULT NULL,
`endorsement_category` enum('FINANCIAL','NON_FINANCIAL') CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`endorsement_type`
enum('NOMINEE_UPDATE','ADDRESS_UPDATE','BANK_DETAILS_UPDATE','DEPENDANT_UPDATE','VI
P_FLAG_UPDATE') DEFAULT NULL,
`endorsement_frontend_status` enum('PENDING','REJECTED','APPROVED') CHARACTER SET
utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT 'PENDING',
`endorsement_backend_status`
enum('PENDING','READY_FOR_PROCESSING','IN_PROGRESS','AUTO_REJECT','AUTO_APPROVED','
REJECTED','APPROVED','SUCCESS','FAILED') DEFAULT NULL,
`endorsement_raised_by` enum('EMPLOYEE','EMPLOYER','BROKER') CHARACTER SET
utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`endorsement_action` enum('PROGRESSED','UNPROCESSED') CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci DEFAULT 'UNPROCESSED',
`endorsement_processed_by` varchar(255) DEFAULT NULL,
`endorsement_processed_date` timestamp NULL DEFAULT NULL,
`failure_reason` text,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
`in_excel` enum('Y','N') NOT NULL DEFAULT 'N',
`memberType` enum('MAIN_MEMBER','DEPENDANT','OTHER') CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci DEFAULT 'OTHER',
`employee_name` varchar(255) NOT NULL,
`workflow_id` varchar(50) NOT NULL,
`workflow_name` varchar(50) NOT NULL,
`transaction_id` varchar(50) DEFAULT NULL,
PRIMARY KEY (`endorsement_id`),
KEY `idx_employee_id` (`employee_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;

2. endorsement_pii_information_details
-- sit_pi_group.endorsement_pii_information_details definition

CREATE TABLE `endorsement_pii_information_details` (


`pii_id` bigint NOT NULL AUTO_INCREMENT,
`employee_id` varchar(50) NOT NULL,
`mobile_number` varchar(50) DEFAULT NULL,
`email_id` varchar(50) DEFAULT NULL,
`aadhaar_number` varchar(50) DEFAULT NULL,
`bank_account_number` varchar(50) DEFAULT NULL,
`pan_number` varchar(50) DEFAULT NULL,
`date_of_birth` varchar(50) DEFAULT NULL,
`ckyc_no` varchar(50) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
`city` varchar(50) DEFAULT NULL,
`pincode` varchar(50) DEFAULT NULL,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
`state` varchar(50) DEFAULT NULL,
`is_active` enum('Y','N') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
DEFAULT NULL,
PRIMARY KEY (`pii_id`)
) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;

3. endorsement_address_details
-- sit_pi_group.endorsement_address_details definition

CREATE TABLE `endorsement_address_details` (


`address_id` bigint NOT NULL AUTO_INCREMENT,
`address_type` enum('ENDORSEMENT','NOMINEE','APPOINTEE') CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci NOT NULL,
`pii_id` bigint NOT NULL,
`endorsement_id` bigint NOT NULL,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`address_id`),
KEY `address_pii_FK` (`pii_id`),
KEY `address_endorsement_id_FK` (`endorsement_id`),
CONSTRAINT `address_endorsement_id_FK` FOREIGN KEY (`endorsement_id`) REFERENCES
`endorsement_details` (`endorsement_id`),
CONSTRAINT `address_pii_FK` FOREIGN KEY (`pii_id`) REFERENCES
`endorsement_pii_information_details` (`pii_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

4. endorsement_nominee_details
-- sit_pi_group.endorsement_nominee_details definition

CREATE TABLE `endorsement_nominee_details` (


`nominee_id` bigint NOT NULL AUTO_INCREMENT,
`employee_id` varchar(50) NOT NULL,
`prefix` varchar(10) DEFAULT NULL,
`policy_number` varchar(50) DEFAULT NULL,
`first_name` varchar(50) DEFAULT NULL,
`middle_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL,
`gender` enum('M','F','TG') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
DEFAULT NULL,
`percentage` varchar(50) DEFAULT NULL,
`relation_with_insured` varchar(50) DEFAULT NULL,
`bank_name` varchar(255) DEFAULT NULL,
`branch_name` varchar(255) DEFAULT NULL,
`ifsc_code` varchar(255) DEFAULT NULL,
`account_type` varchar(255) DEFAULT NULL,
`pii_id` bigint DEFAULT NULL,
`appointee_id` bigint DEFAULT NULL,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
`bank_account_name` varchar(255) NOT NULL,
`is_active` enum('Y','N') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
DEFAULT 'Y',
`bank_details_id` bigint DEFAULT NULL,
`endorsement_id` bigint DEFAULT NULL,
PRIMARY KEY (`nominee_id`),
KEY `bank_details_id_FK` (`bank_details_id`),
KEY `endorsement_id_FK` (`endorsement_id`),
KEY `nominee_pii_FK` (`pii_id`),
CONSTRAINT `bank_details_id_FK` FOREIGN KEY (`bank_details_id`) REFERENCES
`endorsement_bank_details` (`bank_id`),
CONSTRAINT `endorsement_id_FK` FOREIGN KEY (`endorsement_id`) REFERENCES
`endorsement_details` (`endorsement_id`),
CONSTRAINT `nominee_pii_FK` FOREIGN KEY (`pii_id`) REFERENCES
`endorsement_pii_information_details` (`pii_id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;

5. endorsement_appointee_details
-- sit_pi_group.endorsement_appointee_details definition

CREATE TABLE `endorsement_appointee_details` (


`appointee_id` bigint NOT NULL AUTO_INCREMENT,
`employee_id` varchar(50) NOT NULL,
`prefix` varchar(10) DEFAULT NULL,
`first_name` varchar(50) DEFAULT NULL,
`middle_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL,
`gender` enum('M','F','TG') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
DEFAULT NULL,
`relation_with_nominee` varchar(50) DEFAULT NULL,
`bank_name` varchar(255) DEFAULT NULL,
`branch_name` varchar(255) DEFAULT NULL,
`ifsc_code` varchar(255) DEFAULT NULL,
`account_type` varchar(255) DEFAULT NULL,
`nominee_id` bigint DEFAULT NULL,
`pii_id` bigint DEFAULT NULL,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
`bank_account_name` varchar(255) NOT NULL,
`is_active` enum('Y','N') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
DEFAULT 'Y',
`bank_details_id` bigint DEFAULT NULL,
PRIMARY KEY (`appointee_id`),
KEY `nominee_id_appointee_id_FK` (`nominee_id`),
KEY `endorsement_appointee_pii_FK` (`pii_id`),
KEY `appointee_bank_details_id_FK` (`bank_details_id`),
CONSTRAINT `appointee_bank_details_id_FK` FOREIGN KEY (`bank_details_id`)
REFERENCES `endorsement_bank_details` (`bank_id`),
CONSTRAINT `endorsement_appointee_pii_FK` FOREIGN KEY (`pii_id`) REFERENCES
`endorsement_pii_information_details` (`pii_id`),
CONSTRAINT `nominee_id_appointee_id_FK` FOREIGN KEY (`nominee_id`) REFERENCES
`endorsement_nominee_details` (`nominee_id`)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;
6.endorsement_dependant_details
-- sit_pi_group.endorsement_dependant_details definition

CREATE TABLE `endorsement_dependant_details` (


`dependant_id` bigint NOT NULL AUTO_INCREMENT,
`employee_id` varchar(50) NOT NULL,
`prefix` varchar(10) DEFAULT NULL,
`policy_number` varchar(100) NOT NULL,
`first_name` varchar(50) DEFAULT NULL,
`middle_name` varchar(50) DEFAULT NULL,
`last_name` varchar(50) DEFAULT NULL,
`sum_insured` varchar(255) DEFAULT NULL,
`relation_with_insured` varchar(50) DEFAULT NULL,
`pii_id` bigint NOT NULL,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
`is_active` enum('Y','N') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
DEFAULT 'Y',
`endorsement_id` bigint DEFAULT NULL,
PRIMARY KEY (`dependant_id`),
KEY `endorsement_dependant_pii_FK` (`pii_id`),
KEY `appointee_endorsement_id_FK` (`endorsement_id`),
CONSTRAINT `appointee_endorsement_id_FK` FOREIGN KEY (`endorsement_id`)
REFERENCES `endorsement_details` (`endorsement_id`),
CONSTRAINT `endorsement_dependant_pii_FK` FOREIGN KEY (`pii_id`) REFERENCES
`endorsement_pii_information_details` (`pii_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;

7. endorsement_address_details
-- sit_pi_group.endorsement_address_details definition

CREATE TABLE `endorsement_address_details` (


`address_id` bigint NOT NULL AUTO_INCREMENT,
`address_type` enum('ENDORSEMENT','NOMINEE','APPOINTEE') CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci NOT NULL,
`pii_id` bigint NOT NULL,
`endorsement_id` bigint NOT NULL,
`created_by` varchar(50) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_by` varchar(50) DEFAULT NULL,
`updated_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`address_id`),
KEY `address_pii_FK` (`pii_id`),
KEY `address_endorsement_id_FK` (`endorsement_id`),
CONSTRAINT `address_endorsement_id_FK` FOREIGN KEY (`endorsement_id`) REFERENCES
`endorsement_details` (`endorsement_id`),
CONSTRAINT `address_pii_FK` FOREIGN KEY (`pii_id`) REFERENCES
`endorsement_pii_information_details` (`pii_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

For above tables i have made an Entity classes in java springboot like below so
make it correct and cover all the minute details :
Below are my existing Entity Classes:

1. package com.star.gmc.endorsement.dao.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;
import java.util.List;

@Data
@Entity
@Table(name = "endorsement_details")
public class MainEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "endorsement_id")
private Long endorsementId;

@Column(name = "employee_id", nullable = false)


private String employeeId;

@Column(name = "policy_number", nullable = false)


private String policyNumber;

@Column(name = "corporate_id")
private String corporateId;

@Column(name = "health_id")
private String healthId;

@Enumerated(EnumType.STRING)
@Column(name = "endorsement_category")
private EndorsementCategory endorsementCategory;

@Enumerated(EnumType.STRING)
@Column(name = "endorsement_type")
private EndorsementType endorsementType;

@Enumerated(EnumType.STRING)
@Column(name = "endorsement_frontend_status", nullable = false, columnDefinition
= "enum('PENDING','REJECTED','APPROVED')")
private EndorsementFrontendStatus endorsementFrontendStatus =
EndorsementFrontendStatus.PENDING;

@Enumerated(EnumType.STRING)
@Column(name = "endorsement_backend_status")
private EndorsementBackendStatus endorsementBackendStatus;

@Enumerated(EnumType.STRING)
@Column(name = "endorsement_raised_by", nullable = false, columnDefinition =
"enum('EMPLOYEE','EMPLOYER','BROKER')")
private EndorsementRaisedBy endorsementRaisedBy;

@Enumerated(EnumType.STRING)
@Column(name = "endorsement_action", columnDefinition =
"enum('PROGRESSED','UNPROCESSED')")
private EndorsementAction endorsementAction = EndorsementAction.UNPROCESSED;
@Column(name = "endorsement_processed_by")
private String endorsementProcessedBy;

@Column(name = "endorsement_processed_date")
private Timestamp endorsementProcessedDate;

@Column(name = "failure_reason")
private String failureReason;

@Column(name = "created_by", nullable = false)


private String createdBy;

@Column(name = "created_date", nullable = false)


private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@Enumerated(EnumType.STRING)
@Column(name = "in_excel", nullable = false, columnDefinition = "enum('Y','N')")
private InExcel inExcel = InExcel.N;

@Enumerated(EnumType.STRING)
@Column(name = "memberType", columnDefinition =
"enum('MAIN_MEMBER','DEPENDANT','OTHER')")
private MemberType memberType = MemberType.OTHER;

@Column(name = "employee_name", nullable = false)


private String employeeName;

@Column(name = "workflow_id", nullable = false)


private String workflowId;

@Column(name = "workflow_name", nullable = false)


private String workflowName;

@Column(name = "transaction_id")
private String transactionId;

@OneToMany(mappedBy = "endorsementDetails")
private List<EndorsementNomineeDetailsEntity> nomineeList;

@OneToMany(mappedBy = "endorsementDetails")
private List<EndorsementDependentDetailsEntity> dependantList;

@OneToMany(mappedBy = "endorsementDetails")
private List<EndorsementBankDetailsEntity> bankDetailsList;

// Nested Enums
public enum EndorsementCategory {
FINANCIAL, NON_FINANCIAL
}

public enum EndorsementType {


NOMINEE_UPDATE, ADDRESS_UPDATE, BANK_DETAILS_UPDATE, DEPENDANT_UPDATE,
VIP_FLAG_UPDATE
}

public enum EndorsementFrontendStatus {


PENDING, REJECTED, APPROVED
}

public enum EndorsementBackendStatus {


PENDING, READY_FOR_PROCESSING, IN_PROGRESS, AUTO_REJECT, AUTO_APPROVED,
REJECTED, APPROVED, SUCCESS, FAILED
}

public enum EndorsementRaisedBy {


EMPLOYEE, EMPLOYER, BROKER
}

public enum EndorsementAction {


PROGRESSED, UNPROCESSED
}

public enum InExcel {


Y, N
}

public enum MemberType {


MAIN_MEMBER, DEPENDANT, OTHER
}
}

2. package com.star.gmc.endorsement.dao.entity;

import com.sun.tools.javac.Main;
import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;

@Data
@Entity
@Table(name = "endorsement_nominee_details")
public class NomineeEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "nominee_id")
private Long nomineeId;

@Column(name = "employee_id", nullable = false)


private String employeeId;

@Column(name = "prefix")
private String prefix;

@Column(name = "policy_number")
private String policyNumber;

@Column(name = "first_name")
private String firstName;
@Column(name = "middle_name")
private String middleName;

@Column(name = "last_name")
private String lastName;

@Enumerated(EnumType.STRING)
@Column(name = "gender", columnDefinition = "enum('M','F','TG')")
private Gender gender;

@Column(name = "percentage")
private String percentage;

@Column(name = "relation_with_insured")
private String relationWithInsured;

@Column(name = "bank_name")
private String bankName;

@Column(name = "branch_name")
private String branchName;

@Column(name = "ifsc_code")
private String ifscCode;

@Column(name = "account_type")
private String accountType;

@Column(name = "pii_id")
private Long piiId;

@Column(name = "appointee_id")
private Long appointeeId;

@Column(name = "created_by", nullable = false)


private String createdBy;

@Column(name = "created_date", nullable = false)


private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@Column(name = "bank_account_name", nullable = false)


private String bankAccountName;

@Enumerated(EnumType.STRING)
@Column(name = "is_active", columnDefinition = "enum('Y','N')")
private IsActive isActive = IsActive.Y;

@Column(name = "bank_details_id")
private Long bankDetailsId;

@Column(name = "endorsement_id")
private Long endorsementId;
@ManyToOne
@JoinColumn(name = "endorsement_id", insertable = false, updatable = false)
private MainEntity endorsementDetails;

// Enums
public enum Gender {
M, F, TG
}

public enum IsActive {


Y, N
}
}

3. package com.star.gmc.endorsement.dao.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;

@Data
@Entity
@Table(name = "endorsement_pii_information_details")
public class PiiEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "pii_id")
private Long piiId;

@Column(name = "employee_id", nullable = false)


private String employeeId;

@Column(name = "mobile_number")
private String mobileNumber;

@Column(name = "email_id")
private String emailId;

@Column(name = "aadhaar_number")
private String aadhaarNumber;

@Column(name = "bank_account_number")
private String bankAccountNumber;

@Column(name = "pan_number")
private String panNumber;

@Column(name = "date_of_birth")
private String dateOfBirth;

@Column(name = "ckyc_no")
private String ckycNo;

@Column(name = "address")
private String address;
@Column(name = "city")
private String city;

@Column(name = "pincode")
private String pincode;

@Column(name = "created_by", nullable = false)


private String createdBy;

@Column(name = "created_date", nullable = false)


private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@Column(name = "state")
private String state;

@Enumerated(EnumType.STRING)
@Column(name = "is_active", columnDefinition = "enum('Y','N')")
private IsActive isActive;

// Enums
public enum IsActive {
Y, N
}
}

4. package com.star.gmc.endorsement.dao.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;

@Data
@Entity
@Table(name = "endorsement_address_details")
public class AddressEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "address_id")
private Long addressId;

@Enumerated(EnumType.STRING)
@Column(name = "address_type", nullable = false, columnDefinition =
"enum('ENDORSEMENT','NOMINEE','APPOINTEE')")
private AddressType addressType;

@Column(name = "pii_id", nullable = false)


private Long piiId;

@Column(name = "endorsement_id", nullable = false)


private Long endorsementId;
@Column(name = "created_by", nullable = false)
private String createdBy;

@Column(name = "created_date", nullable = false)


private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@ManyToOne
@JoinColumn(name = "endorsement_id", insertable = false, updatable = false)
private MainEntity endorsementDetails;

// Enums
public enum AddressType {
ENDORSEMENT, NOMINEE, APPOINTEE
}
}

5. package com.star.gmc.endorsement.dao.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;

@Data
@Entity
@Table(name = "endorsement_appointee_details")
public class AppointeeEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "appointee_id")
private Long appointeeId;

@Column(name = "employee_id", nullable = false)


private String employeeId;

@Column(name = "prefix")
private String prefix;

@Column(name = "first_name")
private String firstName;

@Column(name = "middle_name")
private String middleName;

@Column(name = "last_name")
private String lastName;

@Enumerated(EnumType.STRING)
@Column(name = "gender", columnDefinition = "enum('M','F','TG')")
private Gender gender;
@Column(name = "relation_with_nominee")
private String relationWithNominee;

@Column(name = "bank_name")
private String bankName;

@Column(name = "branch_name")
private String branchName;

@Column(name = "ifsc_code")
private String ifscCode;

@Column(name = "account_type")
private String accountType;

@Column(name = "nominee_id")
private Long nomineeId;

@Column(name = "pii_id")
private Long piiId;

@Column(name = "created_by", nullable = false)


private String createdBy;

@Column(name = "created_date", nullable = false)


private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@Column(name = "bank_account_name", nullable = false)


private String bankAccountName;

@Enumerated(EnumType.STRING)
@Column(name = "is_active", columnDefinition = "enum('Y','N')")
private IsActive isActive = IsActive.Y;

@Column(name = "bank_details_id")
private Long bankDetailsId;

@ManyToOne
@JoinColumn(name = "nominee_id", insertable = false, updatable = false)
private NomineeEntity nominee;

// Enums
public enum Gender {
M, F, TG
}

public enum IsActive {


Y, N
}
}

6. package com.star.gmc.endorsement.dao.entity;
import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;

@Data
@Entity
@Table(name = "endorsement_dependant_details")
public class DependantEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "dependant_id")
private Long dependantId;

@Column(name = "employee_id", nullable = false)


private String employeeId;

@Column(name = "prefix")
private String prefix;

@Column(name = "policy_number", nullable = false)


private String policyNumber;

@Column(name = "first_name")
private String firstName;

@Column(name = "middle_name")
private String middleName;

@Column(name = "last_name")
private String lastName;

@Column(name = "sum_insured")
private String sumInsured;

@Column(name = "relation_with_insured")
private String relationWithInsured;

@Column(name = "pii_id", nullable = false)


private Long piiId;

@Column(name = "created_by", nullable = false)


private String createdBy;

@Column(name = "created_date", nullable = false)


private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@Enumerated(EnumType.STRING)
@Column(name = "is_active", columnDefinition = "enum('Y','N')")
private IsActive isActive = IsActive.Y;

@Column(name = "endorsement_id")
private Long endorsementId;

@ManyToOne
@JoinColumn(name = "endorsement_id", insertable = false, updatable = false)
private MainEntity endorsementDetails;

// Enums
public enum IsActive {
Y, N
}
}

7. package com.star.gmc.endorsement.dao.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.sql.Timestamp;

@Data
@Entity
@Table(name = "endorsement_bank_details")
public class BankEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "bank_id")
private Long bankId;

@Column(name = "employee_id", nullable = false)


private String employeeId;

@Column(name = "policy_number", nullable = false)


private String policyNumber;

@Column(name = "bank_name")
private String bankName;

@Column(name = "ifsc_code")
private String ifscCode;

@Column(name = "first_name")
private String firstName;

@Column(name = "middle_name")
private String middleName;

@Column(name = "last_name")
private String lastName;

@Column(name = "pii_id", nullable = false)


private Long piiId;

@Enumerated(EnumType.STRING)
@Column(name = "is_primary", columnDefinition = "enum('Y','N')")
private IsPrimary isPrimary;

@Column(name = "created_by", nullable = false)


private String createdBy;
@Column(name = "created_date", nullable = false)
private Timestamp createdDate;

@Column(name = "updated_by")
private String updatedBy;

@Column(name = "updated_date")
private Timestamp updatedDate;

@Column(name = "bank_account_name", nullable = false)


private String bankAccountName;

@Enumerated(EnumType.STRING)
@Column(name = "is_active", columnDefinition = "enum('Y','N')")
private IsActive isActive = IsActive.Y;

@Column(name = "endorsement_id")
private Long endorsementId;

@ManyToOne
@JoinColumn(name = "endorsement_id", insertable = false, updatable = false)
private MainEntity endorsementDetails;

// Enums
public enum IsPrimary {
Y, N
}

public enum IsActive {


Y, N
}
}

Make the entities correct and also check the foreign keys, relationships in the
table and give me the Correct Entity Classes.
Please let me know if you need anything more details.

You might also like