Сканирование объектов в файле persistence.xml внутри той же «банки», НЕТ ВЕСНЫJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сканирование объектов в файле persistence.xml внутри той же «банки», НЕТ ВЕСНЫ

Сообщение Anonymous »

В моем проекте библиотеки у меня есть несколько классов JPA @Entity и несколько утилит JPA.
В проекте есть только зависимости, связанные с JAP/спящим режимом, и нет Spring-mumbo-jumbo.
Теперь я хочу провести модульное тестирование классов предметной области и утилит.
Мои тестовые классы выглядят так :

Код: Выделить всё

class DSLCriteriaTest {

@BeforeAll
static void init() {
new DSLCriteria( Persistence.createEntityManagerFactory("tst").createEntityManager() );
}

@Test
void testDotNotationVSNested() {
var list = DSLCriteria.list( A.class, q -> q
.eq( "name", "a" )
.on( "b", () -> q
.on( "c.d", () -> q
.in( "lastName", "John" )
.orderBy( "id", "desc" )
)
)
);

assertFalse( list.isEmpty() );
}
}
и src/test/resources/META-INF/persistence.xml:

Код: Выделить всё

xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence  http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd ">




org.hibernate.jpa.HibernatePersistenceProvider
false



...





Эта конфигурация работает, только если я раскомментирую элементы . «Автоопределение» с треском проваливается с исключением:

Код: Выделить всё

java.lang.IllegalArgumentException: Not an entity: my.domain.A
at org.hibernate.metamodel.model.domain.internal.JpaMetamodelImpl.entity(JpaMetamodelImpl.java:205)
at org.hibernate.query.sqm.tree.select.AbstractSqmSelectQuery.from(AbstractSqmSelectQuery.java:243)
at org.hibernate.query.sqm.tree.select.AbstractSqmSelectQuery.from(AbstractSqmSelectQuery.java:44)
Как автоматически сканировать все объекты JPA одного проекта в 2024 году без использования ненужных инструментов?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ing-wanted
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»