Я пытаюсь понять, как сделать сопоставления для двух разных проектов, которые разделяют некоторые сущности. Так как они имеют только ограниченное подмножество сопоставлений, моей первой идеей было разделить эти сопоставления в отдельную банку. Я использую аннотации hibernate для отображения (поэтому они находятся в файлах классов, а не в отдельном XML).
И проект A, и проект B зависят от этого проекта отображений, который содержит только пару отображений гибернации. Проект A не имеет собственных отображений, но проект B имеет. Что бы я ни делал, это всегда вызывает проблемы, поскольку, если я не настрою модуль персистентности для проекта сопоставлений, сопоставления никогда не будут обнаружены. Аналогично для проекта B. Если я настраиваю единицу сохраняемости в проекте сопоставлений, проект А работает, но выполнение запроса в проекте В просто дает мне (Mapping
имя класса):
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Mapping is not mapped
Я полагаю, что это вызвано тем, что у проекта B есть своя единица персистентности, и, очевидно, они не объединяются. Я не очень хочу, чтобы они тоже, я бы предпочел настроить только один в проекте A / B, а не банку, от которой они зависят. Так есть ли способ сообщить hibernate сканировать и отображать аннотации в банке зависимостей и добавлять их в текущий блок персистентности?