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>
Другие вопросы по тегам