From f87750e06cc231ea72961324c31508dd3998717b Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Tue, 5 Apr 2016 01:23:53 +0200 Subject: [PATCH] Hibernate extensions 2 plain JPA --- ws/eclipse/HibIntro/.project | 9 +- ws/eclipse/HibIntro/pom.xml | 83 ++- .../component/address/ModifyWorkAddress.java | 31 +- .../java/component/address/PersistUser.java | 28 +- .../src/main/java/component/address/User.java | 18 +- .../java/component/email/PersistUser.java | 21 +- .../java/component/emails/DeleteUser.java | 25 +- .../java/component/emails/PersistUser.java | 23 +- .../src/main/java/component/emails/User.java | 9 +- .../component/emails/list/PersistUser.java | 22 +- .../main/java/entity/company1/Employee.java | 3 +- .../src/main/java/entity/company1/Laptop.java | 3 +- .../main/java/entity/company1/Persist1.java | 48 +- .../main/java/entity/company1/Persist2.java | 47 +- .../main/java/entity/company2/Employee.java | 3 +- .../src/main/java/entity/company2/Laptop.java | 3 +- .../entity/company2/LoadAndDeRegister.java | 27 +- .../main/java/entity/company2/Persist.java | 53 +- .../main/java/entity/company3/Employee.java | 5 +- .../src/main/java/entity/company3/Laptop.java | 3 +- .../entity/company3/LoadAndDeRegister.java | 26 +- .../main/java/entity/company3/Persist.java | 53 +- .../main/java/entity/company4/Persist.java | 63 +- .../main/java/entity/company5/Persist.java | 55 +- .../java/entity/company6/ExchangeLaptops.java | 49 +- .../main/java/entity/company6/Persist.java | 45 +- .../java/entity/company6/model/Employee.java | 3 +- .../java/entity/company6/model/Laptop.java | 3 +- .../main/java/entity/company7/Persist.java | 58 +- .../entity/company7/ReassignProjects.java | 72 +- .../java/entity/company7/model/Employee.java | 3 +- .../java/entity/company7/model/Project.java | 3 +- .../main/java/entity/company8/Persist.java | 56 +- .../entity/company8/ReassignProjects.java | 75 +- .../java/entity/company8/model/Employee.java | 3 +- .../java/entity/company8/model/Project.java | 3 +- .../java/hibintro/util/HibernateUtil.java | 30 - .../main/java/hibintro/v1/GetSingleUser.java | 36 + .../hibintro/v1/GetUsersAsAttributes.java | 46 ++ .../java/hibintro/v1/PersistSingleUser.java | 28 + .../main/java/hibintro/v1/PersistUsers.java | 33 + .../main/java/hibintro/v1/RetrieveAll.java | 38 ++ .../java/hibintro/v1/RetrieveSingleUser.java | 36 + .../src/main/java/hibintro/v1/SelectUser.java | 38 ++ .../java/hibintro/v1/{model => }/User.java | 4 +- .../java/hibintro/v1/run/GetSingleUser.java | 39 -- .../hibintro/v1/run/GetUsersAsAttributes.java | 48 -- .../hibintro/v1/run/PersistSingleUser.java | 34 - .../java/hibintro/v1/run/PersistUsers.java | 34 - .../java/hibintro/v1/run/RetrieveAll.java | 44 -- .../v1/run/RetrieveAllByCriteria.java | 46 -- .../hibintro/v1/run/RetrieveSingleUser.java | 39 -- .../main/java/hibintro/v1/run/SelectUser.java | 39 -- .../java/hibintro/v2/PersistSingleUser.java | 29 +- .../java/hibintro/v3/PersistSingleUser.java | 34 +- .../java/hibintro/v4/PersistSingleUser.java | 22 +- .../java/hibintro/v5/PersistSingleUser.java | 20 +- .../main/java/hibintro/v6/PersistProject.java | 22 +- .../java/hibintro/v7/PersistSingleUser.java | 23 +- .../java/hibintro/v8/PersistSingleUser.java | 23 +- .../java/hibintro/v9/PersistSingleUser.java | 22 +- .../main/java/inherit/joined/v1/Persist.java | 27 +- .../java/inherit/joined/v1/RetrieveAll.java | 37 +- .../inherit/joined/v1/RetrieveCredit.java | 37 +- .../main/java/inherit/joined/v2/Persist.java | 27 +- .../java/inherit/joined/v2/RetrieveAll.java | 38 +- .../inherit/joined/v2/RetrieveRectangles.java | 37 +- .../src/main/java/inherit/v1/Persist.java | 26 +- .../src/main/java/inherit/v1/RetrieveAll.java | 37 +- .../main/java/inherit/v1/RetrieveCredit.java | 37 +- .../src/main/java/inherit/v2/Persist.java | 27 +- .../src/main/java/inherit/v3/Persist.java | 27 +- .../src/main/java/inherit/v3/RetrieveAll.java | 38 +- .../java/inherit/v3/RetrieveRectangles.java | 37 +- .../src/main/java/session1/LoadUser.java | 40 +- .../main/java/session1/PersistSingleUser.java | 22 +- .../src/main/java/session1/hibernate.cfg.xml | 20 - .../java/session2/CompareNewlyCreated.java | 28 +- .../src/main/java/session2/LoadUser.java | 43 +- .../main/java/session2/PersistSingleUser.java | 22 +- .../src/main/java/session2/hibernate.cfg.xml | 20 - .../java/session3/CompareNewlyCreated.java | 29 +- .../src/main/java/session3/LoadUser.java | 43 +- .../main/java/session3/PersistSingleUser.java | 23 +- .../src/main/java/session3/hibernate.cfg.xml | 20 - .../main/resources/META-INF/persistence.xml | 645 ++++++++++++++++++ 86 files changed, 1859 insertions(+), 1369 deletions(-) delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/util/HibernateUtil.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetSingleUser.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetUsersAsAttributes.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistSingleUser.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistUsers.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveAll.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveSingleUser.java create mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/SelectUser.java rename ws/eclipse/HibIntro/src/main/java/hibintro/v1/{model => }/User.java (95%) delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetSingleUser.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetUsersAsAttributes.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistSingleUser.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistUsers.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAll.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAllByCriteria.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveSingleUser.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/SelectUser.java delete mode 100644 ws/eclipse/HibIntro/src/main/java/session1/hibernate.cfg.xml delete mode 100644 ws/eclipse/HibIntro/src/main/java/session2/hibernate.cfg.xml delete mode 100644 ws/eclipse/HibIntro/src/main/java/session3/hibernate.cfg.xml create mode 100644 ws/eclipse/HibIntro/src/main/resources/META-INF/persistence.xml diff --git a/ws/eclipse/HibIntro/.project b/ws/eclipse/HibIntro/.project index 618846d5e..1b0bf4985 100644 --- a/ws/eclipse/HibIntro/.project +++ b/ws/eclipse/HibIntro/.project @@ -5,13 +5,18 @@ <projects> </projects> <buildSpec> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> - <name>org.hibernate.eclipse.console.hibernateBuilder</name> + <name>org.eclipse.wst.validation.validationbuilder</name> <arguments> </arguments> </buildCommand> @@ -24,6 +29,6 @@ <natures> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.m2e.core.maven2Nature</nature> - <nature>org.hibernate.eclipse.console.hibernateNature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> </natures> </projectDescription> diff --git a/ws/eclipse/HibIntro/pom.xml b/ws/eclipse/HibIntro/pom.xml index c00c4e1de..e2fb5afcb 100644 --- a/ws/eclipse/HibIntro/pom.xml +++ b/ws/eclipse/HibIntro/pom.xml @@ -15,45 +15,59 @@ </properties> <dependencies> + + <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-entitymanager</artifactId> + <version>5.1.0.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> - <version>5.1.22</version> - <scope>runtime</scope> + <version>5.1.38</version> </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-core</artifactId> - <version>4.1.9.Final</version> - </dependency> - <dependency> - <groupId>org.jdom</groupId> - <artifactId>jdom</artifactId> - <version>2.0.2</version> - </dependency> - <dependency> - <groupId>org.testng</groupId> - <artifactId>testng</artifactId> - <version>6.8</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.7.5</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>1.7.5</version> - </dependency> +<!-- <dependency> --> +<!-- <groupId>junit</groupId> --> +<!-- <artifactId>junit</artifactId> --> +<!-- <version>4.12</version> --> +<!-- </dependency> --> + + +<!-- <dependency> --> +<!-- <groupId>mysql</groupId> --> +<!-- <artifactId>mysql-connector-java</artifactId> --> +<!-- <version>5.1.22</version> --> +<!-- <scope>runtime</scope> --> +<!-- </dependency> --> + +<!-- <dependency> --> +<!-- <groupId>org.hibernate</groupId> --> +<!-- <artifactId>hibernate-core</artifactId> --> +<!-- <version>4.1.9.Final</version> --> +<!-- </dependency> --> +<!-- <dependency> --> +<!-- <groupId>org.jdom</groupId> --> +<!-- <artifactId>jdom</artifactId> --> +<!-- <version>2.0.2</version> --> +<!-- </dependency> --> +<!-- <dependency> --> +<!-- <groupId>org.testng</groupId> --> +<!-- <artifactId>testng</artifactId> --> +<!-- <version>6.8</version> --> +<!-- </dependency> --> +<!-- <dependency> --> +<!-- <groupId>org.slf4j</groupId> --> +<!-- <artifactId>slf4j-api</artifactId> --> +<!-- <version>1.7.5</version> --> +<!-- </dependency> --> +<!-- <dependency> --> +<!-- <groupId>org.slf4j</groupId> --> +<!-- <artifactId>slf4j-log4j12</artifactId> --> +<!-- <version>1.7.5</version> --> +<!-- </dependency> --> </dependencies> <build> <plugins> @@ -62,11 +76,12 @@ <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> - <source>1.7</source> - <target>1.7</target> + <source>1.8</source> + <target>1.8</target> </configuration> </plugin> </plugins> +<!-- <resources> <resource> <directory>src/main/java</directory> @@ -76,6 +91,8 @@ </includes> </resource> </resources> + + --> </build> </project> diff --git a/ws/eclipse/HibIntro/src/main/java/component/address/ModifyWorkAddress.java b/ws/eclipse/HibIntro/src/main/java/component/address/ModifyWorkAddress.java index 6b4fdb119..06f16d788 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/address/ModifyWorkAddress.java +++ b/ws/eclipse/HibIntro/src/main/java/component/address/ModifyWorkAddress.java @@ -1,22 +1,14 @@ package component.address; - - -import hibintro.util.HibernateUtil; -import org.hibernate.Session; -import org.hibernate.Transaction; -import org.hibernate.cfg.DefaultComponentSafeNamingStrategy; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Modify embedded content in a persistent {@link User} instance. * */ public class ModifyWorkAddress { - static { - HibernateUtil.configuration.setNamingStrategy(new DefaultComponentSafeNamingStrategy()); - } /** * Retrieving a single {@link User} instance by means @@ -24,16 +16,19 @@ public class ModifyWorkAddress { * @param args unused */ public static void main(String[] args) { + + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("componentAddressPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); { - final Session session = HibernateUtil.createSessionFactory("component/address/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - final User user = (User) session.load(User.class, 1L); - + final User user = em.find(User.class, 1L); user.getWorkAddress().setStreet("100 Baker St"); - - transaction.commit(); - session.close(); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/component/address/PersistUser.java b/ws/eclipse/HibIntro/src/main/java/component/address/PersistUser.java index 32a410a7f..4058d67f6 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/address/PersistUser.java +++ b/ws/eclipse/HibIntro/src/main/java/component/address/PersistUser.java @@ -1,36 +1,32 @@ package component.address; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; -import org.hibernate.cfg.DefaultComponentSafeNamingStrategy; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting {@link User} instances having component E-Mail Addresses * */ public class PersistUser { - - static { - HibernateUtil.configuration.setNamingStrategy(new DefaultComponentSafeNamingStrategy()); - } /** * @param args not used. */ public static void main(String[] args) { - - final Session session = HibernateUtil.createSessionFactory("component/address/hibernate.cfg.xml").openSession(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("componentAddressPU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { final User u = new User(123, "goik", "Martin Goik"); u.setHomeAddress(new Address("144 Kings Highway", "S.W. Dover", "DE 19901")); u.setWorkAddress(new Address("22 Baker St", "Morton", "PA 19070")); - session.save(u); + em.persist(u); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/component/address/User.java b/ws/eclipse/HibIntro/src/main/java/component/address/User.java index 0891a61d1..f8a1c3c9f 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/address/User.java +++ b/ws/eclipse/HibIntro/src/main/java/component/address/User.java @@ -1,5 +1,7 @@ package component.address; +import javax.persistence.AttributeOverride; +import javax.persistence.AttributeOverrides; import javax.persistence.Column; import javax.persistence.Embedded; import javax.persistence.Entity; @@ -9,9 +11,7 @@ import javax.persistence.Table; import javax.persistence.UniqueConstraint; /** - * @author goik - * - * {@link User} instances with component addresses + * {@link User} instances with component addresses * */ @Entity @@ -49,11 +49,23 @@ public class User { private Address workAddress; @Embedded + @AttributeOverrides( + {@AttributeOverride(name = "city", column = @Column(name = "city_work")), + @AttributeOverride(name = "street", column = @Column(name = "street_work")), + @AttributeOverride(name = "zipcode", column = @Column(name = "zipcode_work")) + } + ) public Address getWorkAddress() { return workAddress;} public void setWorkAddress(final Address workAddress) { this.workAddress = workAddress;} private Address homeAddress; @Embedded + @AttributeOverrides( + {@AttributeOverride(name = "city", column = @Column(name = "city_home")), + @AttributeOverride(name = "street", column = @Column(name = "street_home")), + @AttributeOverride(name = "zipcode", column = @Column(name = "zipcode_home")) + } + ) public Address getHomeAddress() { return homeAddress;} public void setHomeAddress(Address homeAddress) { this.homeAddress = homeAddress;} diff --git a/ws/eclipse/HibIntro/src/main/java/component/email/PersistUser.java b/ws/eclipse/HibIntro/src/main/java/component/email/PersistUser.java index 63b6b398f..711452e79 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/email/PersistUser.java +++ b/ws/eclipse/HibIntro/src/main/java/component/email/PersistUser.java @@ -1,13 +1,10 @@ package component.email; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting {@link User} instances having component E-Mail Addresses * */ @@ -17,14 +14,18 @@ public class PersistUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("component/email/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("componentEmailPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); { - final Transaction transaction = session.beginTransaction(); final User u = new User(123, "goik", "Martin Goik"); u.setEmailAddress(new Email("goik@hdm-stuttgart.de")); - session.save(u); - transaction.commit(); + em.persist(u); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/component/emails/DeleteUser.java b/ws/eclipse/HibIntro/src/main/java/component/emails/DeleteUser.java index ef715765c..c812b854e 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/emails/DeleteUser.java +++ b/ws/eclipse/HibIntro/src/main/java/component/emails/DeleteUser.java @@ -1,15 +1,11 @@ package component.emails; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting {@link User} instances having component E-Mail Addresses - * */ public class DeleteUser { @@ -17,13 +13,18 @@ public class DeleteUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("component/emails/hibernate.cfg.xml").openSession(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("componentEmailsPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); { - final Transaction transaction = session.beginTransaction(); - final User user = (User) session.load(User.class, 1L); - session.delete(user); - transaction.commit(); + final User user = em.find(User.class, 1L); + em.remove(user); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/component/emails/PersistUser.java b/ws/eclipse/HibIntro/src/main/java/component/emails/PersistUser.java index 8c5cf5c69..44f81a024 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/emails/PersistUser.java +++ b/ws/eclipse/HibIntro/src/main/java/component/emails/PersistUser.java @@ -1,15 +1,11 @@ package component.emails; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting {@link User} instances having component E-Mail Addresses - * */ public class PersistUser { @@ -17,15 +13,20 @@ public class PersistUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("component/emails/hibernate.cfg.xml").openSession(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("componentEmailsPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); { - final Transaction transaction = session.beginTransaction(); final User u = new User(123, "goik", "Martin Goik"); u.getEmails().add(new Email("goik@hdm-stuttgart.de")); u.getEmails().add(new Email("goma@someserver.org")); - session.save(u); - transaction.commit(); + em.persist(u); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/component/emails/User.java b/ws/eclipse/HibIntro/src/main/java/component/emails/User.java index eb85e0d2c..efb0d0e45 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/emails/User.java +++ b/ws/eclipse/HibIntro/src/main/java/component/emails/User.java @@ -3,18 +3,19 @@ package component.emails; import java.util.HashSet; import java.util.Set; +import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import javax.persistence.JoinColumn; /** - * @author goik - * - * {@link User} instances with addresses + * {@link User} instances with addresses * */ @Entity @@ -24,7 +25,7 @@ public class User { private Long id; @Id - @GeneratedValue + @GeneratedValue(strategy = GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} diff --git a/ws/eclipse/HibIntro/src/main/java/component/emails/list/PersistUser.java b/ws/eclipse/HibIntro/src/main/java/component/emails/list/PersistUser.java index 289a34593..1d7c366a7 100644 --- a/ws/eclipse/HibIntro/src/main/java/component/emails/list/PersistUser.java +++ b/ws/eclipse/HibIntro/src/main/java/component/emails/list/PersistUser.java @@ -1,15 +1,11 @@ package component.emails.list; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting {@link User} instances having component E-Mail Addresses - * */ public class PersistUser { @@ -17,15 +13,19 @@ public class PersistUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("component/emails/list/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("componentEmailsListPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); { - final Transaction transaction = session.beginTransaction(); final User u = new User(123, "goik", "Martin Goik"); u.getEmails().add(new Email("goik@hdm-stuttgart.de")); u.getEmails().add(new Email("goma@someserver.org")); - session.save(u); - transaction.commit(); + em.persist(u); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company1/Employee.java b/ws/eclipse/HibIntro/src/main/java/entity/company1/Employee.java index 229f41adb..8f2c3f15e 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company1/Employee.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company1/Employee.java @@ -2,6 +2,7 @@ package entity.company1; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -17,7 +18,7 @@ import javax.persistence.UniqueConstraint; public class Employee { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company1/Laptop.java b/ws/eclipse/HibIntro/src/main/java/entity/company1/Laptop.java index 52dfb3ee1..d66e785af 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company1/Laptop.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company1/Laptop.java @@ -2,6 +2,7 @@ package entity.company1; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @@ -16,7 +17,7 @@ import javax.persistence.UniqueConstraint; public class Laptop { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist1.java b/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist1.java index bd386e971..be9f7d5ee 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist1.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist1.java @@ -1,30 +1,36 @@ package entity.company1; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * Persisting {@link Employee} possibly along with * personal assigned laptops. */ public class Persist1 { - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company1/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); - - final Laptop superCoolGadget = new Laptop(2213); - eve.setLaptop(superCoolGadget); - session.save(martin); - session.save(eve); - transaction.commit(); - } - } + /** + * @param args not used. + */ + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"); + + final Laptop superCoolGadget = new Laptop(2213); + eve.setLaptop(superCoolGadget); + em.persist(martin); + em.persist(eve); + em.persist(superCoolGadget); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist2.java b/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist2.java index a078e3611..715f7799e 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist2.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company1/Persist2.java @@ -1,13 +1,10 @@ package entity.company1; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting {@link Employee} possibly along with * personally assigned laptops. Persisting dependent * transient objects corrects bug in {@link Persist1} @@ -15,25 +12,27 @@ import org.hibernate.Transaction; */ public class Persist2 { - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company1/hibernate.cfg.xml").openSession(); + /** + * @param args not used. + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany1PU"); + final EntityManager em = factory.createEntityManager(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); - - final Laptop superCoolGadget = new Laptop(2213); - eve.setLaptop(superCoolGadget); - session.save(martin); - session.save(eve); + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"); - session.save(superCoolGadget); + final Laptop superCoolGadget = new Laptop(2213); + eve.setLaptop(superCoolGadget); + em.persist(martin); + em.persist(eve); + em.persist(superCoolGadget); + } + em.getTransaction().commit(); - transaction.commit(); - } - } + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company2/Employee.java b/ws/eclipse/HibIntro/src/main/java/entity/company2/Employee.java index a2d849672..1d1bd4c6e 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company2/Employee.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company2/Employee.java @@ -3,6 +3,7 @@ package entity.company2; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -18,7 +19,7 @@ import javax.persistence.UniqueConstraint; public class Employee { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company2/Laptop.java b/ws/eclipse/HibIntro/src/main/java/entity/company2/Laptop.java index 462aa3b7f..8a2e6863c 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company2/Laptop.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company2/Laptop.java @@ -2,6 +2,7 @@ package entity.company2; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @@ -16,7 +17,7 @@ import javax.persistence.UniqueConstraint; public class Laptop { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company2/LoadAndDeRegister.java b/ws/eclipse/HibIntro/src/main/java/entity/company2/LoadAndDeRegister.java index b4040b6d1..8b80db1fe 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company2/LoadAndDeRegister.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company2/LoadAndDeRegister.java @@ -1,9 +1,8 @@ package entity.company2; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * Removing {@link Laptop} from {@link Employee} @@ -13,14 +12,18 @@ public class LoadAndDeRegister { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company2/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee eve = (Employee) session.load(Employee.class, 2L); - - eve.setLaptop(null); - transaction.commit(); - } + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany2NoDropPU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee eve = em.find(Employee.class, 2L); + eve.setLaptop(null); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company2/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company2/Persist.java index d68352e66..6174cf85d 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company2/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company2/Persist.java @@ -1,33 +1,38 @@ package entity.company2; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * Persisting {@link Employee} possibly along with * personal assigned laptops. */ public class Persist { - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company2/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); - - final Laptop superCoolGadget = new Laptop(2213); - eve.setLaptop(superCoolGadget); - // Now only save the employee transients, - // superCoolGadget will be saved automatically due to - // CascadeType.ALL - session.save(martin); - session.save(eve); - transaction.commit(); - } - } + /** + * @param args not used. + */ + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany2PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"); + + final Laptop superCoolGadget = new Laptop(2213); + eve.setLaptop(superCoolGadget); + // Now only save the employee transients, + // superCoolGadget will be saved automatically due to + // CascadeType.ALL + em.persist(martin); + em.persist(eve); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company3/Employee.java b/ws/eclipse/HibIntro/src/main/java/entity/company3/Employee.java index 8fe60dbdf..d0bdc9edc 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company3/Employee.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company3/Employee.java @@ -3,6 +3,7 @@ package entity.company3; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -18,7 +19,7 @@ import javax.persistence.UniqueConstraint; public class Employee { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; @@ -36,7 +37,7 @@ public class Employee { * * @return Laptop "owned" by {@link Employee}. */ - @OneToOne(optional=false, cascade={CascadeType.ALL}) + @OneToOne(optional=true, cascade={CascadeType.ALL}) public Laptop getLaptop() { return laptop;} public void setLaptop(Laptop laptop) {this.laptop = laptop;} private Laptop laptop;// Workstation for employees. diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company3/Laptop.java b/ws/eclipse/HibIntro/src/main/java/entity/company3/Laptop.java index c53d327d4..5400650dc 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company3/Laptop.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company3/Laptop.java @@ -2,6 +2,7 @@ package entity.company3; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @@ -16,7 +17,7 @@ import javax.persistence.UniqueConstraint; public class Laptop { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company3/LoadAndDeRegister.java b/ws/eclipse/HibIntro/src/main/java/entity/company3/LoadAndDeRegister.java index 55e3deff4..3c8c69a6c 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company3/LoadAndDeRegister.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company3/LoadAndDeRegister.java @@ -1,9 +1,8 @@ package entity.company3; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * Removing {@link Laptop} from {@link Employee} @@ -13,14 +12,17 @@ public class LoadAndDeRegister { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company2/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee eve = (Employee) session.load(Employee.class, 2L); - - eve.setLaptop(null); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany3NoDropPU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee eve = em.find(Employee.class, 2L); + eve.setLaptop(null); + } + em.getTransaction().commit(); - transaction.commit(); - } + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company3/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company3/Persist.java index e4a3e1f89..4617eb332 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company3/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company3/Persist.java @@ -1,33 +1,38 @@ package entity.company3; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * Persisting {@link Employee} possibly along with * personal assigned laptops. */ public class Persist { - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company3/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); - - final Laptop superCoolGadget = new Laptop(2213); - eve.setLaptop(superCoolGadget); - // Now only save the employee transients, - // superCoolGadget will be saved automatically due to - // CascadeType.ALL - session.save(martin); - session.save(eve); - transaction.commit(); - } - } + /** + * @param args not used. + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany3PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"); + + final Laptop superCoolGadget = new Laptop(2213); + eve.setLaptop(superCoolGadget); + // Now only save the employee transients, + // superCoolGadget will be saved automatically due to + // CascadeType.ALL + em.persist(martin); + em.persist(eve); + + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company4/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company4/Persist.java index ae153a163..32ef46771 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company4/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company4/Persist.java @@ -1,38 +1,43 @@ package entity.company4; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * Persisting {@link Employee} possibly along with * personal assigned laptops. */ public class Persist { - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company4/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); - - final Laptop superCoolGadget = new Laptop(2213), - g2 = new Laptop(2214), - g3 = new Laptop(2215); // Not being referenced later - - martin.setLaptop(g2); - eve.setLaptop(superCoolGadget); - // Now only save the employee transients, - // superCoolGadget will be saved automatically due to - // CascadeType.ALL - session.save(martin); - session.save(eve); - session.save(g3); - transaction.commit(); - } - } + /** + * @param args not used. + */ + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany4PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"); + + final Laptop superCoolGadget = new Laptop(2213), + g2 = new Laptop(2214), + g3 = new Laptop(2215); // Not being referenced later + + martin.setLaptop(g2); + eve.setLaptop(superCoolGadget); + // Now only save the employee transients, + // superCoolGadget will be saved automatically due to + // CascadeType.ALL + em.persist(martin); + em.persist(eve); + em.persist(g3); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company5/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company5/Persist.java index 92d009745..d9ccc0aac 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company5/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company5/Persist.java @@ -1,9 +1,8 @@ package entity.company5; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; import entity.company5.model.Employee; import entity.company5.model.Laptop; @@ -13,29 +12,35 @@ import entity.company5.model.Laptop; * personal assigned laptops. */ public class Persist { - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company5/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); + /** + * @param args not used. + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany5PU"); + final EntityManager em = factory.createEntityManager(); + final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); - + eve = new Employee(140, "Eve Blix"); + final Laptop superCoolGadget = new Laptop(2213), - g2 = new Laptop(2214), - g3 = new Laptop(2215); // Not being referenced later - + g2 = new Laptop(2214), + g3 = new Laptop(2215); // Not being referenced later + martin.setLaptop(g2); eve.setLaptop(superCoolGadget); - // Now only save the employee transients, - // superCoolGadget will be saved automatically due to - // CascadeType.ALL - session.save(martin); - session.save(eve); - session.save(g3); - transaction.commit(); - } - } + + em.getTransaction().begin(); + { + // Now only save the employee transients, + // superCoolGadget will be saved automatically due to + // CascadeType.ALL + em.persist(martin); + em.persist(eve); + em.persist(g3); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company6/ExchangeLaptops.java b/ws/eclipse/HibIntro/src/main/java/entity/company6/ExchangeLaptops.java index e0cd59a3b..88fc6e785 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company6/ExchangeLaptops.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company6/ExchangeLaptops.java @@ -1,9 +1,8 @@ package entity.company6; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; import entity.company6.model.Employee; import entity.company6.model.Laptop; @@ -16,25 +15,29 @@ public class ExchangeLaptops { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company6/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = (Employee) session.load(Employee.class, 1L), - eve = (Employee) session.load(Employee.class, 2L); - - final Laptop currentMartin2214 = (Laptop) session.load(Laptop.class, 1L), - currentEve2213 = (Laptop) session.load(Laptop.class, 2L); - - eve.setLaptop(currentMartin2214); - currentEve2213.setOwner(martin); - - System.out.println("Martin:" + martin.getLaptop().getId()); - System.out.println("Eve:" + eve.getLaptop().getId()); - - System.out.println("currentEve2213:" + currentEve2213.getOwner().getCname()); - System.out.println("currentMartin2214:" + currentMartin2214.getOwner().getCname()); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany6NoDropPU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee martin = em.find(Employee.class, 1L), + eve = (Employee) em.find(Employee.class, 2L); + + final Laptop currentMartin2214 = em.find(Laptop.class, 1L), + currentEve2213 = em.find(Laptop.class, 2L); + + eve.setLaptop(currentMartin2214); + currentEve2213.setOwner(martin); + + System.out.println("Martin:" + martin.getLaptop().getId()); + System.out.println("Eve:" + eve.getLaptop().getId()); + + System.out.println("currentEve2213:" + currentEve2213.getOwner().getCname()); + System.out.println("currentMartin2214:" + currentMartin2214.getOwner().getCname()); + } + em.getTransaction().commit(); - transaction.commit(); - } + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company6/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company6/Persist.java index 4e9204dc1..9367bda1e 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company6/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company6/Persist.java @@ -1,34 +1,39 @@ package entity.company6; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; import entity.company6.model.Employee; import entity.company6.model.Laptop; public class Persist { - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company6/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany6PU"); + final EntityManager em = factory.createEntityManager(); + final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"); + eve = new Employee(140, "Eve Blix"); final Laptop superCoolGadget = new Laptop(2213), - g2 = new Laptop(2214), - g3 = new Laptop(2215); // Not being referenced later + g2 = new Laptop(2214), + g3 = new Laptop(2215); // Not being referenced later martin.setLaptop(g2); eve.setLaptop(superCoolGadget); - // Now only save the employee transients, - // superCoolGadget will be saved automatically due to - // CascadeType.ALL - session.save(martin); - session.save(eve); - session.save(g3); - transaction.commit(); - } - } + + em.getTransaction().begin(); + { + // Now only save the employee transients, + // superCoolGadget will be saved automatically due to + // CascadeType.ALL + em.persist(martin); + em.persist(eve); + em.persist(g3); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Employee.java b/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Employee.java index 38eb94a33..389f11da7 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Employee.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Employee.java @@ -3,6 +3,7 @@ package entity.company6.model; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -19,7 +20,7 @@ import javax.persistence.UniqueConstraint; public class Employee { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Laptop.java b/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Laptop.java index be9c00a1e..6821798b4 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Laptop.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company6/model/Laptop.java @@ -3,6 +3,7 @@ package entity.company6.model; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; @@ -19,7 +20,7 @@ import javax.persistence.UniqueConstraint; public class Laptop { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company7/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company7/Persist.java index 29349ce32..07c2817e5 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company7/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company7/Persist.java @@ -1,42 +1,44 @@ package entity.company7; -import hibintro.util.HibernateUtil; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; -import org.hibernate.Session; -import org.hibernate.Transaction; import entity.company7.model.Employee; import entity.company7.model.Project; - - /** * Defining many-to-many relationship between * {@link Employee} and {@link Project} * */ public class Persist { - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company7/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"), - jim = new Employee(160, "Jim Clarke"); - - session.save(martin); - session.save(eve); - session.save(jim); - - final Project water = new Project(1, "Water supply") - ,health = new Project(2, "Health management"); - - session.save(water); - session.save(health); - - martin.addProject(water); - - transaction.commit(); - } - } + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany7PU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"), + jim = new Employee(160, "Jim Clarke"); + + em.persist(martin); + em.persist(eve); + em.persist(jim); + + final Project water = new Project(1, "Water supply") + ,health = new Project(2, "Health management"); + + em.persist(water); + em.persist(health); + + martin.addProject(water); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company7/ReassignProjects.java b/ws/eclipse/HibIntro/src/main/java/entity/company7/ReassignProjects.java index dfae7b4f7..44a805f05 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company7/ReassignProjects.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company7/ReassignProjects.java @@ -1,44 +1,44 @@ package entity.company7; -import hibintro.util.HibernateUtil; - -import org.hibernate.Criteria; -import org.hibernate.Session; -import org.hibernate.Transaction; -import org.hibernate.criterion.Restrictions; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; import entity.company7.model.Employee; import entity.company7.model.Project; public class ReassignProjects { - - public static void main(String[] args) { - - - - final Session session = HibernateUtil.createSessionFactory("entity/company7/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - - final Employee - martin = (Employee) session.createCriteria(Employee.class).add( - Restrictions.eq("staffNumber", 123)).list().get(0) - ,eve = (Employee) session.createCriteria(Employee.class).add( - Restrictions.eq("staffNumber", 140)). list().get(0) - ,jim = (Employee) session.createCriteria(Employee.class).add( - Restrictions.eq("staffNumber", 160)). list().get(0); - - final Criteria searchProject = session.createCriteria(Project.class); - - final Project water = (Project) searchProject.add(Restrictions.eq("no", 1)).list().get(0); - martin.removeProject(water); - - eve.addProject(water); - jim.addProject(water); - session.save(martin); - session.save(eve); - session.save(jim); - transaction.commit(); - } - } + + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany7NoDropPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); + { + final TypedQuery<Employee> queryEmployee = em.createQuery( + "SELECT e FROM Employee e WHERE e.staffNumber = :staffNumber", Employee.class); + + final Employee + martin = queryEmployee.setParameter("staffNumber", 123).getSingleResult(), + eve = queryEmployee.setParameter("staffNumber", 140).getSingleResult(), + jim = queryEmployee.setParameter("staffNumber", 160).getSingleResult(); + + final TypedQuery<Project> queryProject = em.createQuery( + "SELECT p FROM Project p WHERE p.no = :no", Project.class); + + final Project water = queryProject.setParameter("no", 1).getSingleResult(); + martin.removeProject(water); + + eve.addProject(water); + jim.addProject(water); + em.persist(martin); + em.persist(eve); + em.persist(jim); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Employee.java b/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Employee.java index ef7aefd54..023adc90a 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Employee.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Employee.java @@ -5,6 +5,7 @@ import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.Table; @@ -22,7 +23,7 @@ import javax.persistence.UniqueConstraint; public class Employee { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Project.java b/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Project.java index 2195a71c2..3feee7915 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Project.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company7/model/Project.java @@ -5,6 +5,7 @@ import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.Table; @@ -20,7 +21,7 @@ import javax.persistence.UniqueConstraint; public class Project { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company8/Persist.java b/ws/eclipse/HibIntro/src/main/java/entity/company8/Persist.java index f47fc6816..5b60a8bee 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company8/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company8/Persist.java @@ -1,16 +1,13 @@ package entity.company8; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; import entity.company8.model.Employee; import entity.company8.model.Project; - - /** * Defining many-to-many relationship between * {@link Employee} and {@link Project} @@ -18,27 +15,30 @@ import entity.company8.model.Project; */ public class Persist { public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("entity/company8/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - final Employee martin = new Employee(123, "Martin Goik"), - eve = new Employee(140, "Eve Blix"), - jim = new Employee(160, "Jim Clarke"); - - session.save(martin); - session.save(eve); - session.save(jim); - - final Project water = new Project(1, "Water supply") - ,health = new Project(2, "Health management"); - - water.addEmployee(martin); - water.addEmployee(eve); - session.save(water); - session.save(health); - - - transaction.commit(); - } + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany8PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Employee martin = new Employee(123, "Martin Goik"), + eve = new Employee(140, "Eve Blix"), + jim = new Employee(160, "Jim Clarke"); + + em.persist(martin); + em.persist(eve); + em.persist(jim); + + final Project water = new Project(1, "Water supply") + ,health = new Project(2, "Health management"); + + water.addEmployee(martin); + water.addEmployee(eve); + em.persist(water); + em.persist(health); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company8/ReassignProjects.java b/ws/eclipse/HibIntro/src/main/java/entity/company8/ReassignProjects.java index 73ef378d0..f443df041 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company8/ReassignProjects.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company8/ReassignProjects.java @@ -1,48 +1,43 @@ package entity.company8; -import hibintro.util.HibernateUtil; - -import org.hibernate.Criteria; -import org.hibernate.Session; -import org.hibernate.Transaction; -import org.hibernate.criterion.Restrictions; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; import entity.company8.model.Employee; import entity.company8.model.Project; public class ReassignProjects { - - public static void main(String[] args) { - - - - final Session session = HibernateUtil.createSessionFactory("entity/company8/hibernate.cfg.xml").openSession(); - { - final Transaction transaction = session.beginTransaction(); - - final Employee - martin = (Employee) session.createCriteria(Employee.class).add( - Restrictions.eq("staffNumber", 123)).list().get(0) - - ,eve = (Employee) session.createCriteria(Employee.class).add( - Restrictions.eq("staffNumber", 140)). list().get(0) - - ,jim = (Employee) session.createCriteria(Employee.class).add( - Restrictions.eq("staffNumber", 160)). list().get(0); - - final Criteria searchProject = session.createCriteria(Project.class); - - final Project water = (Project) searchProject.add( - Restrictions.eq("no", 1)).list().get(0); - - water.removeEmployee(martin); - water.addEmployee(jim); - - - session.save(martin); - session.save(eve); - session.save(jim); - transaction.commit(); - } - } + + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("entityCompany8NoDropPU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); + { + final TypedQuery<Employee> queryEmployee = em.createQuery( + "SELECT e FROM Employee e WHERE e.staffNumber = :staffNumber", Employee.class); + + final Employee + martin = queryEmployee.setParameter("staffNumber", 123).getSingleResult(), + eve = queryEmployee.setParameter("staffNumber", 140).getSingleResult(), + jim = queryEmployee.setParameter("staffNumber", 160).getSingleResult(); + + final TypedQuery<Project> queryProject = em.createQuery( + "SELECT p FROM Project p WHERE p.no = :no", Project.class); + + final Project water = queryProject.setParameter("no", 1).getSingleResult(); + water.removeEmployee(martin); + water.addEmployee(jim); + + em.persist(martin); + em.persist(eve); + em.persist(jim); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Employee.java b/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Employee.java index 8a8e36bf1..03c70e2f6 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Employee.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Employee.java @@ -7,6 +7,7 @@ import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; @@ -27,7 +28,7 @@ import org.hibernate.annotations.Cascade; public class Employee { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Project.java b/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Project.java index 7edf6f974..eee2a5da8 100644 --- a/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Project.java +++ b/ws/eclipse/HibIntro/src/main/java/entity/company8/model/Project.java @@ -7,6 +7,7 @@ import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; @@ -26,7 +27,7 @@ import org.hibernate.annotations.Cascade; public class Project { @Id - @GeneratedValue + @GeneratedValue(strategy=GenerationType.IDENTITY) public Long getId() {return id;} protected void setId(Long id) {this.id = id;} private Long id; diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/util/HibernateUtil.java b/ws/eclipse/HibIntro/src/main/java/hibintro/util/HibernateUtil.java deleted file mode 100644 index 48e85c1d9..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/util/HibernateUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package hibintro.util; - -import org.hibernate.SessionFactory; -import org.hibernate.cfg.Configuration; -import org.hibernate.service.ServiceRegistryBuilder; - -/** - * @author goik - * - * Useful helper for creating hibernate session instances - * - */ -public class HibernateUtil { - - public static final Configuration configuration = new Configuration(); - - /** - * - * @param hibernateConfigFileName The filename defaults to <code>hibernate.cfg.xml</code>. - * @return Session factory instance to be used for actual session creation by caller. - */ - public static SessionFactory createSessionFactory(final String hibernateConfigFileName) { - - configuration.configure(hibernateConfigFileName); - ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder().applySettings(configuration - .getProperties()); - return configuration - .buildSessionFactory(serviceRegistryBuilder.buildServiceRegistry()); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetSingleUser.java new file mode 100644 index 000000000..311285856 --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetSingleUser.java @@ -0,0 +1,36 @@ +package hibintro.v1; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +/** + * Retrieval of a single {@link User} object from a database. + * + */ +public class GetSingleUser { + + /** + * Retrieving a single {@link User} instance by means + * of its primary key value "goik". + * @param args unused + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final User u = em.find(User.class, "goik"); + if (null == u ) { + System.out.println("No such user 'goik'"); + } else { + System.out.println("Found user '" + u.getCname() + "'"); + } + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetUsersAsAttributes.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetUsersAsAttributes.java new file mode 100644 index 000000000..cc2bd4a79 --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/GetUsersAsAttributes.java @@ -0,0 +1,46 @@ +package hibintro.v1; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.Query; + +/** + * Retrieval all {@link User} attributes from a database. + * + */ +public class GetUsersAsAttributes { + + /** + * Retrieving a single {@link User} instance by means + * of its primary key value "goik". + * @param args unused + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final Query queryUidCname = em.createQuery("select uid, cname from User"); + + @SuppressWarnings("unchecked") + final List<Object> usersAttributes = queryUidCname.getResultList(); + + System.out.println("queryResult type:" + usersAttributes.get(0).getClass().getSimpleName()); + for (final Object o: usersAttributes) { + System.out.println("result set element type:" + o.getClass().getSimpleName()); + final Object attributes[] = (Object []) o; + for (Object attribute: attributes) { + System.out.println("attribute value:" + attribute); + } + } + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistSingleUser.java new file mode 100644 index 000000000..b77eb8a3b --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistSingleUser.java @@ -0,0 +1,28 @@ +package hibintro.v1; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +/** + * Persisting a simple instance of {@link User} + */ +public class PersistSingleUser { + + /** + * @param args not used. + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + em.persist(new User("goik", "Martin Goik")); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistUsers.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistUsers.java new file mode 100644 index 000000000..8f1dd196a --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/PersistUsers.java @@ -0,0 +1,33 @@ +package hibintro.v1; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +/** + * Persisting a simple instance of {@link User} + * + */ +public class PersistUsers { + + /** + * @param args not used. + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final User users[] = {new User("wings", "Fred Wings"), + new User("eve", "Eve Briggs")} ; + for (final User u : users ) { + em.persist(u); + } + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveAll.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveAll.java new file mode 100644 index 000000000..e91406e09 --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveAll.java @@ -0,0 +1,38 @@ +package hibintro.v1; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; + +/** + * Retrieval of all {@link User} objects from a database. + */ +public class RetrieveAll { + + /** + * Retrieving users containing the letter <code>r</code> in + * {@link User#getCname()}. + * + * @param args unused + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final TypedQuery<User> searchUsers = em.createQuery("from User", User.class); + final List<User> users = searchUsers.getResultList(); + for (final User u: users) { + System.out.println("uid=" + u.getUid() + ", " + u.getCname()); + } + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveSingleUser.java new file mode 100644 index 000000000..666acf758 --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/RetrieveSingleUser.java @@ -0,0 +1,36 @@ +package hibintro.v1; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +/** + * Retrieval of a single {@link User} object from a database. + * + */ +public class RetrieveSingleUser { + + /** + * Retrieving a single {@link User} instance by means + * of its primary key value "goik". + * @param args unused + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final User u = em.find(User.class, "goik"); + if (null == u ) { + System.out.println("No such user 'goik'"); + } else { + System.out.println("Found user '" + u.getCname() + "'"); + } + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/SelectUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/SelectUser.java new file mode 100644 index 000000000..fee3e40ba --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/SelectUser.java @@ -0,0 +1,38 @@ +package hibintro.v1; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; + +/** + * Retrieval of {@link User} objects from a database. + * + */ +public class SelectUser { + + /** + * @param args not used. + */ + public static void main(String[] args) { + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV1PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final TypedQuery<User> query = em.createQuery( + "from User u where u.cname like '%e%'", User.class); + + final List<User> users = query.getResultList(); + for (final User u: users) { + System.out.println("Found user '" + u.getCname() + "'"); + } + } + em.getTransaction().commit(); + + em.close(); + factory.close(); + } +} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/model/User.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/User.java similarity index 95% rename from ws/eclipse/HibIntro/src/main/java/hibintro/v1/model/User.java rename to ws/eclipse/HibIntro/src/main/java/hibintro/v1/User.java index ca9b3e9a8..c3c296209 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/model/User.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/User.java @@ -1,11 +1,9 @@ -package hibintro.v1.model; +package hibintro.v1; import javax.persistence.Entity; import javax.persistence.Id; /** - * @author goik - * * A simple class intended to be mapped to a database server * */ diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetSingleUser.java deleted file mode 100644 index 2c873afb7..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetSingleUser.java +++ /dev/null @@ -1,39 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - - -/** - * @author goik - * - * Retrieval of a single {@link User} object from a database. - * - */ -public class GetSingleUser { - - /** - * Retrieving a single {@link User} instance by means - * of its primary key value "goik". - * @param args unused - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final User u = (User) session.load(User.class, "goik"); - if (null == u ) { - System.out.println("No such user 'goik'"); - } else { - System.out.println("Found user '" + u.getCname() + "'"); - } - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetUsersAsAttributes.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetUsersAsAttributes.java deleted file mode 100644 index 97a1c8665..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/GetUsersAsAttributes.java +++ /dev/null @@ -1,48 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import java.util.List; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; - -/** - * @author goik - * - * Retrieval all {@link User} attributes from a database. - * - */ -public class GetUsersAsAttributes { - - /** - * Retrieving a single {@link User} instance by means - * of its primary key value "goik". - * @param args unused - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final Query searchUsers = session.createQuery("select uid, cname from User"); - - final Object queryResult = searchUsers.list(); - System.out.println("queryResult type:" + queryResult.getClass().getSimpleName()); - @SuppressWarnings("unchecked") - final List<Object> usersAttributes = (List<Object>) queryResult; - for (final Object o: usersAttributes) { - System.out.println("result set element type:" + o.getClass().getSimpleName()); - final Object attributes[] = (Object []) o; - for (Object attribute: attributes) { - System.out.println("attribute value:" + attribute); - } - } - - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistSingleUser.java deleted file mode 100644 index b7037c50b..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistSingleUser.java +++ /dev/null @@ -1,34 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - - -/** - * @author goik - * - * Persisting a simple instance of {@link User} - * - */ -public class PersistSingleUser { - - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final User u = new User("goik", "Martin Goik"); - session.save(u); - - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistUsers.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistUsers.java deleted file mode 100644 index accd388c2..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/PersistUsers.java +++ /dev/null @@ -1,34 +0,0 @@ -package hibintro.v1.run; - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - -/** - * @author goik - * - * Persisting a simple instance of {@link User} - * - */ -public class PersistUsers { - - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final User users[] = {new User("wings", "Fred Wings"), - new User("eve", "Eve Briggs")} ; - for (final User u : users ) { - session.save(u); - } - - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAll.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAll.java deleted file mode 100644 index b211a573b..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAll.java +++ /dev/null @@ -1,44 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import java.util.List; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; - - - -/** - * @author goik - * - * Retrieval of all {@link User} objects from a database. - * - */ -public class RetrieveAll { - - /** - * Retrieving users containing the letter <code>r</code> in - * {@link User#getCname()}. - * - * @param args unused - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final Query searchUsers = session.createQuery("from User"); - @SuppressWarnings("unchecked") - final List<User> users = (List<User>) searchUsers.list(); - for (final User u: users) { - System.out.println("uid=" + u.getUid() + ", " + u.getCname()); - } - - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAllByCriteria.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAllByCriteria.java deleted file mode 100644 index 43a36a873..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveAllByCriteria.java +++ /dev/null @@ -1,46 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import java.util.List; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; - - - -/** - * @author goik - * - * Retrieval of all {@link User} objects from a database. - * - */ -public class RetrieveAllByCriteria { - - /** - * Retrieving users containing the letter <code>r</code> in - * {@link User#getCname()}. - * - * @param args unused - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - //final Criteria crit = session.createCriteria(Cat.class); - - final Transaction transaction = session.beginTransaction(); - - final Query searchUsers = session.createQuery("from User"); - @SuppressWarnings("unchecked") - final List<User> users = (List<User>) searchUsers.list(); - for (final User u: users) { - System.out.println("uid=" + u.getUid() + ", " + u.getCname()); - } - - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveSingleUser.java deleted file mode 100644 index 056ec3f0b..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/RetrieveSingleUser.java +++ /dev/null @@ -1,39 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - - -/** - * @author goik - * - * Retrieval of a single {@link User} object from a database. - * - */ -public class RetrieveSingleUser { - - /** - * Retrieving a single {@link User} instance by means - * of its primary key value "goik". - * @param args unused - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final User u = (User) session.load(User.class, "goik"); - if (null == u ) { - System.out.println("No such user 'goik'"); - } else { - System.out.println("Found user '" + u.getCname() + "'"); - } - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/SelectUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/SelectUser.java deleted file mode 100644 index 15469f592..000000000 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v1/run/SelectUser.java +++ /dev/null @@ -1,39 +0,0 @@ -package hibintro.v1.run; - - - -import hibintro.util.HibernateUtil; -import hibintro.v1.model.User; - -import java.util.List; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - - -/** - * @author goik - * - * Retrieval of {@link User} objects from a database. - * - */ -public class SelectUser { - - /** - * @param args not used. - */ - public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - @SuppressWarnings("unchecked") - final List<User> users = (List<User>) session.createQuery("from User u where u.cname like '%e%'").list(); - for (final User u: users) { - System.out.println("Found user '" + u.getCname() + "'"); - } - - transaction.commit(); - } -} \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v2/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v2/PersistSingleUser.java index 71f9464a7..c08462c67 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v2/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v2/PersistSingleUser.java @@ -1,19 +1,11 @@ package hibintro.v2; - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} - * */ public class PersistSingleUser { @@ -21,13 +13,16 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v2/hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV2PU"); + final EntityManager em = factory.createEntityManager(); - final User u = new User("goik", "Martin Goik"); - session.save(u); + em.getTransaction().begin(); + { + em.persist(new User("goik", "Martin Goik")); + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v3/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v3/PersistSingleUser.java index ab1d36301..e9810780b 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v3/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v3/PersistSingleUser.java @@ -1,19 +1,11 @@ package hibintro.v3; - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; - - +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} - * */ public class PersistSingleUser { @@ -21,13 +13,17 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v3/hibernate.cfg.xml").openSession(); - - final Transaction transaction = session.beginTransaction(); - - final User u = new User("goik", "Martin Goik"); - session.save(u); - - transaction.commit(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV3PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + em.persist(new User("goik", "Martin Goik")); + } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v4/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v4/PersistSingleUser.java index 28c20ba41..f8610eec7 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v4/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v4/PersistSingleUser.java @@ -1,13 +1,10 @@ package hibintro.v4; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} * */ @@ -17,13 +14,16 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v4/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV4PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final User u = new User("goik", null); - session.save(u); + em.persist(new User("goik", null)); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v5/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v5/PersistSingleUser.java index c3bb957ef..5d629030d 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v5/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v5/PersistSingleUser.java @@ -1,9 +1,8 @@ package hibintro.v5; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** * @author goik @@ -17,13 +16,16 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v5/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV5PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final User u = new User(123, "goik", "Martin Goik"); - session.save(u); + em.persist(new User(123, "goik", "Martin Goik")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v6/PersistProject.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v6/PersistProject.java index 48851b058..f983650ae 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v6/PersistProject.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v6/PersistProject.java @@ -1,13 +1,10 @@ package hibintro.v6; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link Project} * */ @@ -17,13 +14,16 @@ public class PersistProject { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v6/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV6PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final Project u = new Project("New web-server", 3); - session.save(u); + em.persist(new Project("New web-server", 3)); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v7/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v7/PersistSingleUser.java index db09474bb..30c7990bd 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v7/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v7/PersistSingleUser.java @@ -1,15 +1,11 @@ package hibintro.v7; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} - * */ public class PersistSingleUser { @@ -17,13 +13,16 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v7/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV7PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final User u = new User(123, "goik", "Martin Goik"); - session.save(u); + em.persist(new User(123, "goik", "Martin Goik")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v8/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v8/PersistSingleUser.java index 1c5606cf1..d1f695db4 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v8/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v8/PersistSingleUser.java @@ -1,15 +1,11 @@ package hibintro.v8; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} - * */ public class PersistSingleUser { @@ -17,13 +13,16 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v8/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV8PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final User u = new User(123, "goik", "Martin Goik"); - session.save(u); + em.persist(new User(123, "goik", "Martin Goik")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/hibintro/v9/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/hibintro/v9/PersistSingleUser.java index 1ce093231..d48eacf91 100644 --- a/ws/eclipse/HibIntro/src/main/java/hibintro/v9/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/hibintro/v9/PersistSingleUser.java @@ -1,13 +1,10 @@ package hibintro.v9; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} * */ @@ -17,17 +14,20 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("hibintro/v9/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("hibintroV9PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { final User u = new User(); u.setUidNumber(123); u.setUid("goik"); u.setCname("Martin Goik"); - - session.save(u); + em.persist(u); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/Persist.java b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/Persist.java index e84d14862..0caaf0404 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/Persist.java @@ -1,17 +1,13 @@ package inherit.joined.v1; -import hibintro.util.HibernateUtil; - import java.text.ParseException; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link BillingDetails} - * */ public class Persist { @@ -20,16 +16,17 @@ public class Persist { * @throws ParseException Expiration may be mis-spelled */ public static void main(String[] args) throws ParseException { - final Session session = HibernateUtil.createSessionFactory("inherit/joined/v1/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritJoinedV1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final CreditCard creditCard = new CreditCard("4412 8334 4512 9416", 1, "05/18/15"); - session.save(creditCard); - - final BankAccount bankAccount = new BankAccount("1107 2 31", "Lehman Brothers", "BARCGB22"); - session.save(bankAccount); + em.persist(new CreditCard("4412 8334 4512 9416", 1, "05/18/15")); + em.persist(new BankAccount("1107 2 31", "Lehman Brothers", "BARCGB22")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveAll.java b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveAll.java index 954d81da2..ed346b682 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveAll.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveAll.java @@ -1,20 +1,12 @@ package inherit.joined.v1; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link CreditCard} objects from a database. - * */ public class RetrieveAll { @@ -22,17 +14,20 @@ public class RetrieveAll { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/joined/v1/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritJoinedV1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); + { + final TypedQuery<BillingDetails> searchBilling = em.createQuery("from BillingDetails", BillingDetails.class); - final Query searchBilling = session.createQuery("from inherit.joined.v1.BillingDetails"); - @SuppressWarnings("unchecked") - final List<BillingDetails> billingDetailsList = (List<BillingDetails>) searchBilling.list(); - for (final BillingDetails c: billingDetailsList) { - System.out.println(c); - } + for (final BillingDetails c: searchBilling.getResultList()) { + System.out.println(c); + } + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveCredit.java b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveCredit.java index bf3c6e125..154cf131a 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveCredit.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v1/RetrieveCredit.java @@ -1,20 +1,12 @@ package inherit.joined.v1; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link CreditCard} objects from a database. - * */ public class RetrieveCredit { @@ -22,17 +14,20 @@ public class RetrieveCredit { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/joined/v1/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritJoinedV1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); + { + final TypedQuery<CreditCard> searchBilling = em.createQuery("from CreditCard", CreditCard.class); - final Query searchCreditPayments = session.createQuery("from inherit.tpc.v1.CreditCard"); - @SuppressWarnings("unchecked") - final List<CreditCard> creditCardList = (List<CreditCard>) searchCreditPayments.list(); - for (final CreditCard c: creditCardList) { - System.out.println(c); - } + for (final CreditCard c: searchBilling.getResultList()) { + System.out.println(c); + } + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/Persist.java b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/Persist.java index 7f65655f8..1a2ca5cf2 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/Persist.java @@ -1,15 +1,11 @@ package inherit.joined.v2; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link Figure} - * */ public class Persist { @@ -17,16 +13,17 @@ public class Persist { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/joined/v2/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritJoinedV2PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final Circle circle = new Circle(2.3, 1.8, 3.1); - session.save(circle); - - final Rectangle rectangle = new Rectangle(-2,-2, 1,2); - session.save(rectangle); + em.persist(new Circle(2.3, 1.8, 3.1)); + em.persist(new Rectangle(-2,-2, 1,2)); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveAll.java b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveAll.java index 6eb411f2d..9b6e7a875 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveAll.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveAll.java @@ -1,20 +1,12 @@ package inherit.joined.v2; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link Circle} objects from a database. - * */ public class RetrieveAll { @@ -22,16 +14,20 @@ public class RetrieveAll { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/joined/v2/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritJoinedV2PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final TypedQuery<Figure> searchFigures = em.createQuery("from Figure", Figure.class); - final Transaction transaction = session.beginTransaction(); + for (final Figure f: searchFigures.getResultList()) { + System.out.println(f); + } + } + em.getTransaction().commit(); - final Query searchFigures = session.createQuery("from inherit.joined.v2.Figure"); - @SuppressWarnings("unchecked") - final List<Figure> figureList = (List<Figure>) searchFigures.list(); - for (final Figure c: figureList) { - System.out.println(c); - } - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveRectangles.java b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveRectangles.java index 9e5b85f28..df2923ff3 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveRectangles.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/joined/v2/RetrieveRectangles.java @@ -1,20 +1,12 @@ package inherit.joined.v2; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link Circle} objects from a database. - * */ public class RetrieveRectangles { @@ -22,17 +14,20 @@ public class RetrieveRectangles { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/joined/v2/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritJoinedV2PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); + { + final TypedQuery<Rectangle> searchRectangles = em.createQuery("from Rectangle", Rectangle.class); - final Query searchRectangles = session.createQuery("from inherit.joined.v2.Rectangle"); - @SuppressWarnings("unchecked") - final List<Rectangle> rectangleList = (List<Rectangle>) searchRectangles.list(); - for (final Rectangle r: rectangleList) { - System.out.println(r); - } + for (final Rectangle r: searchRectangles.getResultList()) { + System.out.println(r); + } + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v1/Persist.java b/ws/eclipse/HibIntro/src/main/java/inherit/v1/Persist.java index 5b55e8511..7ab086b26 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v1/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v1/Persist.java @@ -1,17 +1,14 @@ package inherit.v1; -import hibintro.util.HibernateUtil; import java.text.ParseException; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link BillingDetails} - * */ public class Persist { @@ -20,16 +17,17 @@ public class Persist { * @throws ParseException Credit card expiration may be mis-spelled. */ public static void main(String[] args) throws ParseException { - final Session session = HibernateUtil.createSessionFactory("inherit/v1/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final CreditCard creditCard = new CreditCard("4412 8334 4512 9416", 1, "05/18/15"); - session.save(creditCard); - - final BankAccount bankAccount = new BankAccount("1107 2 31", "Lehman Brothers", "BARCGB22"); - session.save(bankAccount); + em.persist(new CreditCard("4412 8334 4512 9416", 1, "05/18/15")); + em.persist(new BankAccount("1107 2 31", "Lehman Brothers", "BARCGB22")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveAll.java b/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveAll.java index 6cd66c3ba..adf5e4cb0 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveAll.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveAll.java @@ -1,20 +1,12 @@ package inherit.v1; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link CreditCard} objects from a database. - * */ public class RetrieveAll { @@ -22,17 +14,20 @@ public class RetrieveAll { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/v1/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); + { + final TypedQuery<BillingDetails> searchBilling = em.createQuery("from BillingDetails", BillingDetails.class); - final Query searchBilling = session.createQuery("from inherit.v1.BillingDetails"); - @SuppressWarnings("unchecked") - final List<BillingDetails> billingDetailsList = (List<BillingDetails>) searchBilling.list(); - for (final BillingDetails c: billingDetailsList) { - System.out.println(c); - } + for (final BillingDetails c: searchBilling.getResultList()) { + System.out.println(c); + } + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveCredit.java b/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveCredit.java index ac1459604..296eadf33 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveCredit.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v1/RetrieveCredit.java @@ -1,20 +1,12 @@ package inherit.v1; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link CreditCard} objects from a database. - * */ public class RetrieveCredit { @@ -22,17 +14,20 @@ public class RetrieveCredit { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/v1/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); + { + final TypedQuery<CreditCard> searchCreditCard = em.createQuery("from CreditCard", CreditCard.class); - final Query searchCreditPayments = session.createQuery("from inherit.v1.CreditCard"); - @SuppressWarnings("unchecked") - final List<CreditCard> creditCardList = (List<CreditCard>) searchCreditPayments.list(); - for (final CreditCard c: creditCardList) { - System.out.println(c); - } + for (final CreditCard c: searchCreditCard.getResultList()) { + System.out.println(c); + } + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v2/Persist.java b/ws/eclipse/HibIntro/src/main/java/inherit/v2/Persist.java index 9f67cd016..7ede4b88f 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v2/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v2/Persist.java @@ -1,17 +1,13 @@ package inherit.v2; -import hibintro.util.HibernateUtil; - import java.text.ParseException; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link BillingDetails} - * */ public class Persist { @@ -20,16 +16,17 @@ public class Persist { * @throws ParseException Expiration may be mis-spelled. */ public static void main(String[] args) throws ParseException { - final Session session = HibernateUtil.createSessionFactory("inherit/v2/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV2PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final CreditCard creditCard = new CreditCard("4412 8334 4512 9416", 1, "05/18/15"); - session.save(creditCard); - - final BankAccount bankAccount = new BankAccount("1107 2 31", "Lehman Brothers", "BARCGB22"); - session.save(bankAccount); + em.persist(new CreditCard("4412 8334 4512 9416", 1, "05/18/15")); + em.persist(new BankAccount("1107 2 31", "Lehman Brothers", "BARCGB22")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v3/Persist.java b/ws/eclipse/HibIntro/src/main/java/inherit/v3/Persist.java index 0ce90db28..6d153bbdb 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v3/Persist.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v3/Persist.java @@ -1,15 +1,11 @@ package inherit.v3; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting simple instances of {@link Figure} - * */ public class Persist { @@ -17,16 +13,17 @@ public class Persist { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/v3/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV3PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final Circle creditCard = new Circle(2.3, 1.8, 3.1); - session.save(creditCard); - - final Rectangle bankAccount = new Rectangle(-2,-2, 1,2); - session.save(bankAccount); + em.persist(new Circle(2.3, 1.8, 3.1)); + em.persist(new Rectangle(-2,-2, 1,2)); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveAll.java b/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveAll.java index bd7468f30..fcca484f6 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveAll.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveAll.java @@ -1,20 +1,12 @@ package inherit.v3; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link Circle} objects from a database. - * */ public class RetrieveAll { @@ -22,16 +14,20 @@ public class RetrieveAll { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/v3/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV3PU"); + final EntityManager em = factory.createEntityManager(); + + em.getTransaction().begin(); + { + final TypedQuery<Figure> searchFigures = em.createQuery("from Figure", Figure.class); - final Transaction transaction = session.beginTransaction(); + for (final Figure f: searchFigures.getResultList()) { + System.out.println(f); + } + } + em.getTransaction().commit(); - final Query searchFigures = session.createQuery("from inherit.v3.Figure"); - @SuppressWarnings("unchecked") - final List<Figure> figureList = (List<Figure>) searchFigures.list(); - for (final Figure c: figureList) { - System.out.println(c); - } - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveRectangles.java b/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveRectangles.java index ecce67be4..62a88d63c 100644 --- a/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveRectangles.java +++ b/ws/eclipse/HibIntro/src/main/java/inherit/v3/RetrieveRectangles.java @@ -1,20 +1,12 @@ package inherit.v3; -import java.util.List; - - - -import hibintro.util.HibernateUtil; - -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.persistence.TypedQuery; /** - * @author goik - * * Retrieval of all {@link Circle} objects from a database. - * */ public class RetrieveRectangles { @@ -22,17 +14,20 @@ public class RetrieveRectangles { * @param args unused */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("inherit/v3/hibernate.cfg.xml").openSession(); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("inheritV3PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); + { + final TypedQuery<Rectangle> searchRectangles = em.createQuery("from Rectangle", Rectangle.class); - final Query searchRectangles = session.createQuery("from inherit.v3.Rectangle"); - @SuppressWarnings("unchecked") - final List<Rectangle> rectangleList = (List<Rectangle>) searchRectangles.list(); - for (final Rectangle r: rectangleList) { - System.out.println(r); - } + for (final Rectangle r: searchRectangles.getResultList()) { + System.out.println(r); + } + } + em.getTransaction().commit(); - transaction.commit(); + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session1/LoadUser.java b/ws/eclipse/HibIntro/src/main/java/session1/LoadUser.java index 71392eed7..d5b49c04b 100644 --- a/ws/eclipse/HibIntro/src/main/java/session1/LoadUser.java +++ b/ws/eclipse/HibIntro/src/main/java/session1/LoadUser.java @@ -1,14 +1,10 @@ package session1; - - -import hibintro.util.HibernateUtil; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Repeated retrieval of a single {@link User} object from a database. * */ @@ -22,26 +18,26 @@ public class LoadUser { public static void main(String[] args) { final User user; - { - final Session session = HibernateUtil.createSessionFactory("session1/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - user = (User) session.load(User.class, 1L); - final User user1 = (User) session.load(User.class, 1L); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session1PU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); + { + user = em.find(User.class, 1L); + final User user1 = em.find(User.class, 1L); System.out.println(" first transaction: user.equals(user1):" + user.equals(user1)); - - transaction.commit(); - session.close(); } - { - final Session session = HibernateUtil.createSessionFactory("session1/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - final User user2 = (User) session.load(User.class, 1L); + em.getTransaction().begin(); + { + final User user2 = em.find(User.class, 1L); System.out.println("second transaction: user.equals(user2):" + user.equals(user2)); - - transaction.commit(); - session.close(); } + + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session1/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/session1/PersistSingleUser.java index e2557c17a..3adeea93d 100644 --- a/ws/eclipse/HibIntro/src/main/java/session1/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/session1/PersistSingleUser.java @@ -1,13 +1,10 @@ package session1; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} * */ @@ -17,13 +14,18 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("session1/hibernate.cfg.xml").openSession(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session1PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { final User u = new User(123, "goik", "Martin Goik"); - session.save(u); + em.persist(u); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session1/hibernate.cfg.xml b/ws/eclipse/HibIntro/src/main/java/session1/hibernate.cfg.xml deleted file mode 100644 index c5e51a96f..000000000 --- a/ws/eclipse/HibIntro/src/main/java/session1/hibernate.cfg.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!DOCTYPE hibernate-configuration PUBLIC - "-//Hibernate/Hibernate Configuration DTD 3.0//EN" - "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> - -<hibernate-configuration> - <session-factory > - <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> - <property name="hibernate.connection.password">XYZ</property> - <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hdm</property> - <property name="hibernate.connection.username">hdmuser</property> - <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> - <property name="hibernate.show_sql">false</property> - <property name="hibernate.format_sql">true</property> - <property name="hibernate.hbm2ddl.auto">update</property> - - <mapping class="session1.User"/> - </session-factory> -</hibernate-configuration> diff --git a/ws/eclipse/HibIntro/src/main/java/session2/CompareNewlyCreated.java b/ws/eclipse/HibIntro/src/main/java/session2/CompareNewlyCreated.java index b5c999a53..a44b03169 100644 --- a/ws/eclipse/HibIntro/src/main/java/session2/CompareNewlyCreated.java +++ b/ws/eclipse/HibIntro/src/main/java/session2/CompareNewlyCreated.java @@ -1,12 +1,10 @@ package session2; -import hibintro.util.HibernateUtil; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Comparing newly created {@link User} instances both with persistent * and transient partners. * @@ -20,18 +18,20 @@ public class CompareNewlyCreated { b = new User(123, "goik", "Martin Goik"); System.out.println("a.equals(b):" + a.equals(b)); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session2PU"); + final EntityManager em = factory.createEntityManager(); + em.getTransaction().begin(); { - final Session session = HibernateUtil.createSessionFactory("session2/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - - // previously saved as new User(123, "goik", "Martin Goik"); - final User user = (User) session.load(User.class, 1L); + // previously saved as new User(123, "goik", "Martin Goik"); + final User user = em.find(User.class, 1L); - System.out.println("a.equals(user)):" + a.equals(user)); - - transaction.commit(); - session.close(); + System.out.println("a.equals(user)):" + a.equals(user)); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session2/LoadUser.java b/ws/eclipse/HibIntro/src/main/java/session2/LoadUser.java index 2aeec6621..e2d6bbeb9 100644 --- a/ws/eclipse/HibIntro/src/main/java/session2/LoadUser.java +++ b/ws/eclipse/HibIntro/src/main/java/session2/LoadUser.java @@ -1,14 +1,10 @@ package session2; - - -import hibintro.util.HibernateUtil; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Repeated retrieval of a single {@link User} object from a database. * */ @@ -20,29 +16,28 @@ public class LoadUser { * @param args unused */ public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session2PU"); + final EntityManager em = factory.createEntityManager(); final User user; + + em.getTransaction().begin(); { - final Session session = HibernateUtil.createSessionFactory("session2/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - user = (User) session.load(User.class, 1L); - final User user1 = (User) session.load(User.class, 1L); - + user = em.find(User.class, 1L); + final User user1 = em.find(User.class, 1L); System.out.println(" first transaction: user.equals(user1):" + user.equals(user1)); - - transaction.commit(); - session.close(); } - { - final Session session = HibernateUtil.createSessionFactory("session2/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - final User user2 = (User) session.load(User.class, 1L); - - boolean val = user.equals(user2); - System.out.println("second transaction: user.equals(user2):" + val); + em.getTransaction().commit(); - transaction.commit(); - session.close(); + em.getTransaction().begin(); + { + final User user2 = em.find(User.class, 1L); + System.out.println("second transaction: user.equals(user2):" + user.equals(user2)); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session2/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/session2/PersistSingleUser.java index 8949901ad..857154abe 100644 --- a/ws/eclipse/HibIntro/src/main/java/session2/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/session2/PersistSingleUser.java @@ -1,13 +1,10 @@ package session2; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} * */ @@ -17,13 +14,18 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("session2/hibernate.cfg.xml").openSession(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session2PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { final User u = new User(123, "goik", "Martin Goik"); - session.save(u); + em.persist(u); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session2/hibernate.cfg.xml b/ws/eclipse/HibIntro/src/main/java/session2/hibernate.cfg.xml deleted file mode 100644 index c733be075..000000000 --- a/ws/eclipse/HibIntro/src/main/java/session2/hibernate.cfg.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!DOCTYPE hibernate-configuration PUBLIC - "-//Hibernate/Hibernate Configuration DTD 3.0//EN" - "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> - -<hibernate-configuration> - <session-factory > - <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> - <property name="hibernate.connection.password">XYZ</property> - <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hdm</property> - <property name="hibernate.connection.username">hdmuser</property> - <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> - <property name="hibernate.show_sql">false</property> - <property name="hibernate.format_sql">true</property> - <property name="hibernate.hbm2ddl.auto">update</property> - - <mapping class="session2.User"/> - </session-factory> -</hibernate-configuration> diff --git a/ws/eclipse/HibIntro/src/main/java/session3/CompareNewlyCreated.java b/ws/eclipse/HibIntro/src/main/java/session3/CompareNewlyCreated.java index 284670467..eab15bfa3 100644 --- a/ws/eclipse/HibIntro/src/main/java/session3/CompareNewlyCreated.java +++ b/ws/eclipse/HibIntro/src/main/java/session3/CompareNewlyCreated.java @@ -1,12 +1,10 @@ package session3; -import hibintro.util.HibernateUtil; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Comparing newly created {@link User} instances both with persistent * and transient partners. * @@ -21,17 +19,18 @@ public class CompareNewlyCreated { System.out.println("a.equals(b):" + a.equals(b)); - { - final Session session = HibernateUtil.createSessionFactory("session3/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - - // previously saved as new User(123, "goik", "Martin Goik"); - final User user = (User) session.load(User.class, 1L); - - System.out.println("a.equals(user)):" + a.equals(user)); + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session3PU"); + final EntityManager em = factory.createEntityManager(); - transaction.commit(); - session.close(); + em.getTransaction().begin(); + { + // previously saved as new User(123, "goik", "Martin Goik"); + final User user = em.find(User.class, 1L); + System.out.println("a.equals(user)):" + a.equals(user)); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session3/LoadUser.java b/ws/eclipse/HibIntro/src/main/java/session3/LoadUser.java index b2b22c8bf..395eb0bcb 100644 --- a/ws/eclipse/HibIntro/src/main/java/session3/LoadUser.java +++ b/ws/eclipse/HibIntro/src/main/java/session3/LoadUser.java @@ -1,14 +1,10 @@ package session3; - - -import hibintro.util.HibernateUtil; -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Repeated retrieval of a single {@link User} object from a database. * */ @@ -20,29 +16,28 @@ public class LoadUser { * @param args unused */ public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session3PU"); + final EntityManager em = factory.createEntityManager(); - final User user; + User user; + em.getTransaction().begin(); { - final Session session = HibernateUtil.createSessionFactory("session3/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - user = (User) session.load(User.class, 1L); - final User user1 = (User) session.load(User.class, 1L); + user = em.find(User.class, 1L); + final User user1 = em.find(User.class, 1L); System.out.println(" first transaction: user.equals(user1):" + user.equals(user1)); - - transaction.commit(); - session.close(); } - { - final Session session = HibernateUtil.createSessionFactory("session3/hibernate.cfg.xml").openSession(); - final Transaction transaction = session.beginTransaction(); - final User user2 = (User) session.load(User.class, 1L); + em.getTransaction().commit(); - boolean val = user.equals(user2); - System.out.println("second transaction: user.equals(user2):" + val); - - transaction.commit(); - session.close(); + em.getTransaction().begin(); + { + final User user2 = em.find(User.class, 1L); + System.out.println("second transaction: user.equals(user2):" + user.equals(user2)); } + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session3/PersistSingleUser.java b/ws/eclipse/HibIntro/src/main/java/session3/PersistSingleUser.java index 92e48c694..b06125ace 100644 --- a/ws/eclipse/HibIntro/src/main/java/session3/PersistSingleUser.java +++ b/ws/eclipse/HibIntro/src/main/java/session3/PersistSingleUser.java @@ -1,13 +1,10 @@ package session3; -import hibintro.util.HibernateUtil; - -import org.hibernate.Session; -import org.hibernate.Transaction; +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; /** - * @author goik - * * Persisting a simple instance of {@link User} * */ @@ -17,13 +14,17 @@ public class PersistSingleUser { * @param args not used. */ public static void main(String[] args) { - final Session session = HibernateUtil.createSessionFactory("session3/hibernate.cfg.xml").openSession(); + + final EntityManagerFactory factory = Persistence.createEntityManagerFactory("session3PU"); + final EntityManager em = factory.createEntityManager(); - final Transaction transaction = session.beginTransaction(); + em.getTransaction().begin(); { - final User u = new User(123, "goik", "Martin Goik"); - session.save(u); + em.persist(new User(123, "goik", "Martin Goik")); } - transaction.commit(); + em.getTransaction().commit(); + + em.close(); + factory.close(); } } \ No newline at end of file diff --git a/ws/eclipse/HibIntro/src/main/java/session3/hibernate.cfg.xml b/ws/eclipse/HibIntro/src/main/java/session3/hibernate.cfg.xml deleted file mode 100644 index b69f3505a..000000000 --- a/ws/eclipse/HibIntro/src/main/java/session3/hibernate.cfg.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!DOCTYPE hibernate-configuration PUBLIC - "-//Hibernate/Hibernate Configuration DTD 3.0//EN" - "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> - -<hibernate-configuration> - <session-factory > - <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> - <property name="hibernate.connection.password">XYZ</property> - <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hdm</property> - <property name="hibernate.connection.username">hdmuser</property> - <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> - <property name="hibernate.show_sql">false</property> - <property name="hibernate.format_sql">true</property> - <property name="hibernate.hbm2ddl.auto">update</property> - - <mapping class="session3.User"/> - </session-factory> -</hibernate-configuration> diff --git a/ws/eclipse/HibIntro/src/main/resources/META-INF/persistence.xml b/ws/eclipse/HibIntro/src/main/resources/META-INF/persistence.xml new file mode 100644 index 000000000..6985b41f8 --- /dev/null +++ b/ws/eclipse/HibIntro/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,645 @@ +<persistence + version="2.1" + xmlns="http://xmlns.jcp.org/xml/ns/persistence" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence + http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd"> + + <!-- + The <code>persistence.xml</code> file configures at least one persistence unit; + each unit must have a unique name. + --> + <persistence-unit name="session1PU"> + + <!-- + A persistent unit has persistent (mapped) classes, you list them here. + --> + <class>session1.User</class> + + <!-- + Hibernate can scan your classpath for mapped classes and add them automatically + to your persistence unit. This setting disables that feature. + --> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + + <!-- + Standard or vendor-specific options can be set as properties on a persistence unit. + Any standard properties have the <code>javax.persistence</code> name prefix, Hibernate's + settings use <code>hibernate</code> + --> + <properties> + <!-- + JDBC database connection parameter + --> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <!-- + The JPA engine should drop and re-create the SQL schema in the database + automatically when it boots. This is ideal for automated testing, when + you want to work with a clean database for every test run. + --> + <property + name="javax.persistence.schema-generation.database.action" + value="drop-and-create"/> + + <!-- + When printing SQL in logs, let Hibernate format the SQL nicely and generate + comments into the SQL string so we know why Hibernate executed the SQL statement. + --> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + + <!-- Disable Hibernate scanning completely, we also don't want any hbm.xml files + discovered and added automatically. --> + <property name="hibernate.archive.autodetection" value="none"/> + + </properties> + </persistence-unit> + + <persistence-unit name="session2PU"> + <class>session2.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="session3PU"> + <class>session3.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="componentAddressPU"> + <class>component.address.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="componentEmailPU"> + <class>component.email.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="componentEmailsPU"> + <class>component.emails.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="componentEmailsListPU"> + <class>component.emails.list.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany1PU"> + <class>entity.company1.Laptop</class> + <class>entity.company1.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany2PU"> + <class>entity.company2.Laptop</class> + <class>entity.company2.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany2NoDropPU"> + <class>entity.company2.Laptop</class> + <class>entity.company2.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany3PU"> + <class>entity.company3.Laptop</class> + <class>entity.company3.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany3NoDropPU"> + <class>entity.company3.Laptop</class> + <class>entity.company3.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany4PU"> + <class>entity.company4.Laptop</class> + <class>entity.company4.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany5PU"> + <class>entity.company5.model.Laptop</class> + <class>entity.company5.model.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany6PU"> + <class>entity.company6.model.Laptop</class> + <class>entity.company6.model.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany6NoDropPU"> + <class>entity.company6.model.Laptop</class> + <class>entity.company6.model.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany7PU"> + <class>entity.company7.model.Project</class> + <class>entity.company7.model.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany7NoDropPU"> + <class>entity.company7.model.Project</class> + <class>entity.company7.model.Employee</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany8PU"> + <class>entity.company8.model.Project</class> + <class>entity.company8.model.Employee</class> + <class>entity.company8.model.EmployeeProject</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="entityCompany8NoDropPU"> + <class>entity.company8.model.Project</class> + <class>entity.company8.model.Employee</class> + <class>entity.company8.model.EmployeeProject</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV1PU"> + <class>hibintro.v1.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV2PU"> + <class>hibintro.v2.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV3PU"> + <class>hibintro.v3.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV4PU"> + <class>hibintro.v4.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV5PU"> + <class>hibintro.v5.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV6PU"> + <class>hibintro.v6.Project</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV7PU"> + <class>hibintro.v7.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV8PU"> + <class>hibintro.v8.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="hibintroV9PU"> + <class>hibintro.v9.User</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="inheritJoinedV1PU"> + <class>inherit.joined.v1.BillingDetails</class> + <class>inherit.joined.v1.BankAccount</class> + <class>inherit.joined.v1.CreditCard</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="inheritJoinedV2PU"> + <class>inherit.joined.v2.Figure</class> + <class>inherit.joined.v2.Rectangle</class> + <class>inherit.joined.v2.Circle</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="inheritV1PU"> + <class>inherit.v1.BillingDetails</class> + <class>inherit.v1.BankAccount</class> + <class>inherit.v1.CreditCard</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="inheritV2PU"> + <class>inherit.v2.BillingDetails</class> + <class>inherit.v2.BankAccount</class> + <class>inherit.v2.CreditCard</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + + <persistence-unit name="inheritV3PU"> + <class>inherit.v3.Figure</class> + <class>inherit.v3.Rectangle</class> + <class>inherit.v3.Circle</class> + <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm"/> + <property name="javax.persistence.jdbc.user" value="hdmuser"/> + <property name="javax.persistence.jdbc.password" value="XYZ"/> + <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/> + + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> + <property name="hibernate.format_sql" value="true"/> + <property name="hibernate.use_sql_comments" value="true"/> + <property name="hibernate.archive.autodetection" value="none"/> + </properties> + </persistence-unit> + +</persistence> -- GitLab