I have three different Entities(table) which is :
- EMPLOYEES
- EMPLOYEE_HIKES
- EMPLOYEE_HIKE_TYPE
Design of three entities:
i)EMPLOYEES:
EMP_ID(123) , EMP_NAME(Arvind)
EMP_ID(456), EMP_NAME (Kishore)
Primary key- EMP_ID
ii)EMPLOYEE_HIKES:
EMPLOYEE_HIKE_ID(1), EMP_ID(123),HIKE_TYPE_ID(1), IS_ACTIVE(1)
EMPLOYEE_HIKE_ID(2), EMP_ID(456),HIKE_TYPE_ID(2), IS_ACTIVE(0)
primary key – EMPLOYEE_HIKE_ID
iii)EMPLOYEE_HIKE_TYPE:
HIKE_TYPE_ID(1),HIKE_TYPE_NAME(Quarterly)
HIKE_TYPE_ID(2),HIKE_TYPE_NAME(Annually)
primary key – HIKE_TYPE_ID
Values are mentioned inside the bracket for each table ().
In my EMPLOYEES Entity java class I have a field employeeHikeTypeList:
@Entity(Table=”EMPLOYEE”)
public class Employee
@Fetch(FetchMode.SUBSELECT)
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.EAGER)
@JoinTable(name = “EMPLOYEE_HIKES”, joinColumns = { @JoinColumn(name = “EMP_ID”) }, inverseJoinColumns = {
@JoinColumn(name = “HIKE_TYPE_ID”) })
private List<EMPLOYEE_HIKE_TYPE> employeeHikeTypeList;
So now the requirement is needs to use predicate. If hike_type_id 1 given, needs to fetch the details from the EMPLOYEE_HIKES table respective EMPLOYEE_HIKE_ID and IS_ACTIVE values
arvind md is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.