ListenerImpl listener = new ListenerImpl();
emf.addLifecycleListener(listener, (Class[]) null);
OpenJPAEntityManager em = emf.createEntityManager();
UnenhancedType un = newInstance(sub);
em.getTransaction().begin();
em.persist(un);
em.getTransaction().commit();
if (!userDefined) {
em.close();
em = emf.createEntityManager();