Friday, 28 June 2013

JLab14 : Table Per Concrete Class Inheritance Mapping

Steps :
1. Create a Java Application with name : JLab14
2. Add JPA Capabilities
3. Copy & Edit Persistence Classes & Util classes from ALab11, as per need.
4. Copy & Edit the Client code from ALab11, as per need.

Follow the directory structure as the following image :

1. Util.java
Same as JPAUtil.java of JLab3

2. A.java
Same as ALab11

3. B.java
Same as ALab11

4. C.java
Same as ALab11

5. D.java
Same as ALab11

6. E.java
Same as ALab11

7. L14.java
package com.persistence;
import javax.persistence.*;
import com.util.Util;
public class L14 {
public static void main(String[] args) {
EntityTransaction tx = null;
try{
EntityManagerFactory sf = Util.getSF();
EntityManager s = sf.createEntityManager();
tx = s.getTransaction();
tx.begin();
A a = new A("A");
B b = new B("B","B");
C c = new C("C","C");
D d = new D("D","D","D");
E e = new E("E","E","E");
s.persist(a);
s.persist(b);
s.persist(c);
s.persist(d);
s.persist(e);
tx.commit();
}catch(Exception e){
e.printStackTrace();
if(tx!=null)
tx.rollback();
}
}
}

8. Table
Same as ALab11
create table a(sid int, sname char(15));
create table b(sid int, sname char(15), bname char(15));
create table c(sid int, sname char(15), cname char(15));
create table d(sid int, sname char(15), bname char(15), dname char(15));
create table e(sid int, sname char(15), bname char(15), ename char(15));

** Run As A Java Application & Choose L14 from list.

** Rows inserted In DB tables as :

No comments:

Post a Comment