diff --git a/P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java b/P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java new file mode 100644 index 0000000000000000000000000000000000000000..e89bbd218556959af564fac981e017714e81177b --- /dev/null +++ b/P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java @@ -0,0 +1,37 @@ +package rdbms2catalog; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; + +import org.junit.Test; + +import de.hdm_stuttgart.mi.sda1.sql2catalog.model.Description; +import de.hdm_stuttgart.mi.sda1.sql2catalog.model.Product; + +public class TestSchemaConflict { + + static final EntityManager em; + + static { + final EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("create-drop"); + em = emFactory.createEntityManager(); + } + + @Test(expected=javax.persistence.PersistenceException.class) + public void insertData() { + { + final EntityTransaction transaction = em.getTransaction(); + transaction.begin(); + + final Product monkeyPickedTea = new Product(1, "Monkey Picked Tea", null); + new Description(monkeyPickedTea, 0, "Picked only by specially trained monkeys"); + new Description(monkeyPickedTea, 0, "Rare wild Chinese tea"); // oops! Unique key violation + + em.persist(monkeyPickedTea); + + transaction.commit(); + } + } +} \ No newline at end of file