Skip to content

Commit 873f5d4

Browse files
authored
JPAInheritanceDEmo
1 parent 208d621 commit 873f5d4

File tree

4 files changed

+125
-0
lines changed

4 files changed

+125
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package inheritanceMapping;
2+
3+
import javax.persistence.DiscriminatorValue;
4+
import javax.persistence.Entity;
5+
6+
@Entity
7+
//@DiscriminatorValue("Contract")
8+
public class ContractEmployee extends Emp {
9+
10+
private double payPerHour;
11+
12+
public double getPayPerHour() {
13+
return payPerHour;
14+
}
15+
16+
public void setPayPerHour(double payPerHour) {
17+
this.payPerHour = payPerHour;
18+
}
19+
20+
21+
}

inheritanceMapping/Emp.java

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package inheritanceMapping;
2+
3+
import java.util.Date;
4+
5+
import javax.persistence.DiscriminatorColumn;
6+
import javax.persistence.DiscriminatorType;
7+
import javax.persistence.DiscriminatorValue;
8+
import javax.persistence.Entity;
9+
import javax.persistence.GeneratedValue;
10+
import javax.persistence.GenerationType;
11+
import javax.persistence.Id;
12+
import javax.persistence.Inheritance;
13+
import javax.persistence.InheritanceType;
14+
import javax.persistence.Table;
15+
import javax.persistence.Temporal;
16+
import javax.persistence.TemporalType;
17+
18+
@Entity
19+
@Table(name="EmpDetails")
20+
//@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
21+
//@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
22+
@Inheritance(strategy=InheritanceType.JOINED)
23+
//@DiscriminatorColumn(name="Employee_Type", discriminatorType=DiscriminatorType.STRING)
24+
//@DiscriminatorValue("employee")
25+
public class Emp {
26+
@Id
27+
@GeneratedValue(strategy=GenerationType.AUTO)
28+
private int empid;
29+
private String name;
30+
@Temporal(TemporalType.DATE)
31+
private Date doj;
32+
33+
public int getEmpid() {
34+
return empid;
35+
}
36+
public void setEmpid(int empid) {
37+
this.empid = empid;
38+
}
39+
public String getName() {
40+
return name;
41+
}
42+
public void setName(String name) {
43+
this.name = name;
44+
}
45+
public Date getDoj() {
46+
return doj;
47+
}
48+
public void setDoj(Date doj) {
49+
this.doj = doj;
50+
}
51+
52+
53+
54+
}

inheritanceMapping/EmpMain.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package inheritanceMapping;
2+
3+
import java.util.Date;
4+
5+
import javax.persistence.EntityManager;
6+
import javax.persistence.EntityManagerFactory;
7+
import javax.persistence.EntityTransaction;
8+
import javax.persistence.Persistence;
9+
10+
public class EmpMain {
11+
12+
public static void main(String[] args) {
13+
EntityManagerFactory factory=Persistence.createEntityManagerFactory("day3");
14+
EntityManager em=factory.createEntityManager();
15+
EntityTransaction tx=em.getTransaction();
16+
tx.begin();
17+
ContractEmployee emp=new ContractEmployee();
18+
//PermanentEmployee emp=new PermanentEmployee();
19+
emp.setName("Saurabh");
20+
emp.setDoj(new Date());
21+
//emp.setSalary(34000);
22+
emp.setPayPerHour(4000);
23+
em.persist(emp);
24+
tx.commit();
25+
System.out.println("================Done================");
26+
27+
}
28+
29+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package inheritanceMapping;
2+
3+
import javax.persistence.DiscriminatorValue;
4+
import javax.persistence.Entity;
5+
import javax.persistence.Table;
6+
7+
@Entity
8+
//@DiscriminatorValue("Permanent")
9+
public class PermanentEmployee extends Emp {
10+
private double salary;
11+
12+
public double getSalary() {
13+
return salary;
14+
}
15+
16+
public void setSalary(double salary) {
17+
this.salary = salary;
18+
}
19+
20+
21+
}

0 commit comments

Comments
 (0)