diff --git a/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/A.java b/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/A.java new file mode 100644 index 00000000..22751dcd --- /dev/null +++ b/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/A.java @@ -0,0 +1,32 @@ +package org.hibernate.bugs; + +import org.hibernate.bugs.b.B; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Inheritance; +import jakarta.persistence.InheritanceType; + +@Entity +@Inheritance(strategy = InheritanceType.JOINED) +public class A { + @Id + protected long id; + protected String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/JPAUnitTestCase.java b/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/JPAUnitTestCase.java index 3734df49..4bbfc731 100644 --- a/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/JPAUnitTestCase.java +++ b/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/JPAUnitTestCase.java @@ -13,26 +13,27 @@ */ class JPAUnitTestCase { - private EntityManagerFactory entityManagerFactory; + private EntityManagerFactory entityManagerFactory; - @BeforeEach - void init() { - entityManagerFactory = Persistence.createEntityManagerFactory( "templatePU" ); - } + @BeforeEach + void init() { + entityManagerFactory = Persistence.createEntityManagerFactory("templatePU"); + } - @AfterEach - void destroy() { - entityManagerFactory.close(); - } + @AfterEach + void destroy() { + entityManagerFactory.close(); + } - // Entities are auto-discovered, so just add them anywhere on class-path - // Add your tests, using standard JUnit. - @Test - void hhh123Test() throws Exception { - EntityManager entityManager = entityManagerFactory.createEntityManager(); - entityManager.getTransaction().begin(); - // Do stuff... - entityManager.getTransaction().commit(); - entityManager.close(); - } + // Entities are auto-discovered, so just add them anywhere on class-path + // Add your tests, using standard JUnit. + @Test + void hhh123Test() throws Exception { + EntityManager entityManager = entityManagerFactory.createEntityManager(); + entityManager.getTransaction().begin(); + // Do stuff... + A a = entityManager.find(A.class, 1L); + entityManager.getTransaction().commit(); + entityManager.close(); + } } diff --git a/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/b/B.java b/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/b/B.java new file mode 100644 index 00000000..2b4bba5f --- /dev/null +++ b/orm/hibernate-orm-6/src/test/java/org/hibernate/bugs/b/B.java @@ -0,0 +1,31 @@ +package org.hibernate.bugs.b; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Inheritance; +import jakarta.persistence.InheritanceType; +import org.hibernate.bugs.A; + +@Entity +@Inheritance(strategy = InheritanceType.JOINED) +public class B extends A{ + @Id + protected long id; + protected String bname; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getBname() { + return bname; + } + + public void setBname(String bname) { + this.bname = bname; + } +}