// create EM
OpenJPAEntityManager em = emf.createEntityManager();
assertNotNull(em);
try {
// verify Validation Mode
OpenJPAConfiguration conf = em.getConfiguration();
assertNotNull(conf);
assertTrue("ValidationMode",
conf.getValidationMode().equalsIgnoreCase("NONE"));
// create invalid ConstraintNull instance
em.getTransaction().begin();
ConstraintNull c = ConstraintNull.createInvalidNull();
em.persist(c);
em.getTransaction().commit();
getLog().trace("testNullDeleteIgnored() Part 1 of 2 passed");
} finally {
closeEM(em);
closeEMF(emf);
}
// Part 2 - Verify delete using default group does not cause Validation
// create our EMF w/ validation mode=CALLBACK
emf = (OpenJPAEntityManagerFactorySPI)OpenJPAPersistence
.createEntityManagerFactory(
"null-callback-mode",
"org/apache/openjpa/integration/validation/persistence.xml");
assertNotNull(emf);
// create EM
em = emf.createEntityManager();
assertNotNull(em);
try {
// verify Validation Mode
OpenJPAConfiguration conf = em.getConfiguration();
assertNotNull(conf);
assertTrue("ValidationMode",
conf.getValidationMode().equalsIgnoreCase("CALLBACK"));
// get the invalid entity to delete
Query q = em.createQuery("DELETE FROM VNULL c WHERE c.id = 1");
em.getTransaction().begin();
int count = q.executeUpdate();
em.getTransaction().commit();