Hibernate не имеет концепции хранилища.Spring делает.
Hibernate не волнует, где находятся классы постоянных сущностей.Они должны быть в пути к классу, вот и все.Находятся ли они в одной, двух или трех банках, не имеет значения, находятся ли все эти банки в пути к классам.
Организуйте свои проекты так, как вам хочется, и просто убедитесь, что у вас нет двух разных спящих режимов.конфигурационные файлы в classpath.Я бы использовал проект для хранения всех общих сущностей и, возможно, связанных с ними репозиториев, и позволил основному проекту определить файл конфигурации hibernate.
Если полное имя общего класса - src.shared.myEntity, то пружинаВ конфигурации должны быть следующие строки:
<property name="annotatedClasses">
<list>
...
<value>src.shared.myEntity</value>
</list>
</property>
Ваша формулировка сбивает с толку, поэтому я проверю то, что я считаю очевидным, но, возможно, это не так.Полное имя класса состоит из полного имени пакета, за которым следует имя класса без расширения .class или .java.В банке должен быть файл .class, а не файл .java.Иерархия каталогов в банке должна точно отображать иерархию пакетов.Поэтому, если ваша сущность выглядит следующим образом:
package src.shared;
@Entity
public class myEntity {
// ...
}
В корне должен быть каталог src
, содержащий каталог shared
, содержащий файл myEntity.class
.
PS: иметь src
в качестве имени корневого пакета действительно странно.Почему вы не соблюдаете соглашение: com.yourcompany.yourproject
...?
PPS: имя класса всегда должно начинаться с заглавной буквы: MyEntity
, а не myEntity
.