我们有一个测试扩展,它为我们的测试创建一个 EntityManager:
Map<String, String> properties = new HashMap<String, String>();
properties.put(PersistenceUnitProperties.JDBC_DRIVER, DRIVER_NAME);
properties.put(PersistenceUnitProperties.JDBC_URL, createUrl(testInstance));
properties.put(PersistenceUnitProperties.JDBC_USER, DB_USER);
properties.put(PersistenceUnitProperties.COORDINATION_PROTOCOL, null);
emf = Persistence.createEntityManagerFactory(PU_NAME, properties);
...
EntityManager em = emf.createEntityManager();
尽管我们注意到在 pre-persist 或 pre-update 时没有触发 BeanValidator,尽管我们的其他验证器触发得很好。这是有道理的,在 JEE 容器中,Bean Validation 库是由容器本身提供的。
如果我们将它包含在测试类路径中,是否有可能让 EclipseLink 调用类似 OpenWebBeans 的东西?