Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. SELECT DISTINCT E.* FROM EMP E, EMP_ASSIGN EA
  2. WHERE
  3. E.ID = EA.EMP_ID AND (EA.SUB_COMP_ID IN (ACTUAL VALUES)
  4. OR EA.BRANCH_ID IN (ACTUAL VALUES)
  5. OR EA.DESG_ID IN (ACTUAL VALUES))
  6.  
  7. public class Employee{
  8. private String id;
  9. private String firstName;
  10. private String lastName;
  11. private Set<EmployeeAssignment> employeeAssignments;
  12.  
  13. //getters and setters
  14. }
  15.  
  16. <hibernate-mapping>
  17. <class name = "Employee" table="EMP" >
  18. <id name="id" column="ID"/>
  19. <property name="firstName" column="FIRST_NAME"/>
  20. <property name="lastName" column="LAST_NAME"/>
  21. <set name="employeeAssignments" table="EMP_ASSIGN" inverse="true" fetch="join" cascade="save-update" lazy="true"
  22. where="trunc(SYSDATE) BETWEEN strt_dt and end_dt">
  23. <key>
  24. <column name="EMP_ID" not null="true"/>
  25. </key>
  26. <one-to-many notfound="ignore" class="com.someorganization.entity.EmployeeAssignment"/>
  27. </set>
  28. </class>
  29. </hibernate-mapping>
  30.  
  31. CREATE TABLE EMP(
  32. ID VARCHAR(20) PRIMARY KEY,
  33. FIRST_NAME VARCHAR(30) NOT NULL,
  34. LAST_NAME VARCHAR(30) NOT NULL
  35. );
  36.  
  37. public class EmployeeAssignment{
  38. private String id;
  39. private String employeeId;
  40. private Date startDate;
  41. private Date endDate;
  42. private SubCompany company;
  43. private Branch branch;
  44. private Designation designation;
  45.  
  46. //getters and setters
  47. }
  48.  
  49. <hibernate-mapping>
  50. <class name = "EmployeeAssignment" table="EMP_ASSIGN" >
  51. <id name="id" column="ID"/>
  52. <property name="employeeId" column="EMP_ID"/>
  53. <property name="startDate" column="STRT_DATE"/>
  54. <property name="endDate" column="END_DATE"/>
  55.  
  56. <many-to-one name="subCompany" lazy="false" class="com.someorganization.entity.SubCompany">
  57. <column name="SUB_COMP_ID" not-null="false"/>
  58. </many-to-one>
  59.  
  60. <many-to-one name="branch" lazy="false" class="com.someorganization.entity.Branch">
  61. <column name="BRANCH_ID" not-null="false"/>
  62. </many-to-one>
  63.  
  64. <many-to-one name="designation" lazy="false" class "com.someorganization.entity.Designation">
  65. <column name="DESG_ID" not-null="false"/>
  66. </many-to-one>
  67. </class>
  68. </hibernate-mapping>
  69.  
  70. CREATE TABLE EMP_ASSIGN(
  71. ID VARCHAR(20) PRIMARY KEY,
  72. EMP_ID VARCHAR(20) NOT NULL,
  73. STRT_DATE DATE,
  74. END_DATE DATE,
  75. SUB_COMP_ID VARCHAR(20) NOT NULL,
  76. BRANCH_ID VARCHAR(20) NOT NULL,
  77. DESG_ID VARCHAR(20) NOT NULL
  78. FOREIGN KEY(EMP_ID) REFERENCES EMP(ID),
  79. FOREIGN KEY(SUB_COMP_ID) REFERENCES SUB_COMP(ID),
  80. FOREIGN KEY(BRANCH_ID) REFERENCES BRANCH(ID),
  81. FOREIGN KEY(DESG_ID) REFERENCES DESG(ID))
  82.  
  83. public class SubCompany{
  84. private String id;
  85. private String subCompanyName;
  86.  
  87. //getters and setters
  88. }
  89.  
  90. <hibernate-mapping>
  91. <class name = "SubCompany" table="SUB_COMP" >
  92. <id name="id" column="ID"/>
  93. <property name="subCompanyName" column="COMPANY_NAME"/>
  94. </class>
  95. </hibernate-mapping>
  96.  
  97. CREATE TABLE SUB_COMP(
  98. ID VARCHAR(20) PRIMARY KEY,
  99. COMPANY_NAME VARCHAR(30) NOT NULL
  100. );
  101.  
  102. public class Branch{
  103. private String id;
  104. private String branchName;
  105.  
  106. //getters and setters
  107. }
  108.  
  109. <hibernate-mapping>
  110. <class name = "Branch" table="BRANCH">
  111. <id name="id" column="ID"/>
  112. <property name="branchName" column="BRANCH_NAME"/>
  113. </class>
  114. </hibernate-mapping>
  115.  
  116. CREATE TABLE BRANCH(
  117. ID VARCHAR(20) PRIMARY KEY,
  118. BRANCH_NAME VARCHAR(30) NOT NULL
  119. );
  120.  
  121. public class Designation{
  122. private string id;
  123. private String designationName;
  124.  
  125. //getters and setters
  126. }
  127.  
  128. <hibernate-mapping>
  129. <class name = "Designation" table="DESG">
  130. <id name="id" column="ID"/>
  131. <property name="designationName" column="DESG_NAME"/>
  132. </class>
  133. </hibernate-mapping>
  134.  
  135. CREATE TABLE DESG(
  136. ID VARCHAR(20) PRIMARY KEY,
  137. DESG_NAME VARCHAR(30) NOT NULL
  138. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement