EclipseLink: Как включить проверку бинов без JEE /CDI? (так называемое включение в SE)
У нас есть тестовое расширение, которое создает 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();
Однако мы заметили, что BeanValidator не запускает pre-persist или pre-update, хотя другие наши валидаторы работают просто отлично. Это имеет смысл, в JEE-контейнере библиотека Bean Validation предоставляется самим контейнером.
Возможно ли иметь что-то, чтобы EclipseLink вызывал что-то наподобие OpenWebBeans, если мы включили это в тестовый путь к классам?
1 ответ
Это было так просто, как добавить это к нашей поме:
<dependency>
<groupId>org.apache.bval</groupId>
<artifactId>bval-jsr</artifactId>
<version>1.1.2</version>
<scope>test</scope>
</dependency>