Я пытаюсь создать новую спящую сущность, используя аннотации в унаследованном весеннем проекте. Все предыдущие существующие сущности были определены с использованием .hbm.xml
файлов. Однако я обнаружил, что моя новая аннотированная сущность не может ссылаться на устаревшие .hbm
определенные.
Поскольку это весенний проект, он был добавлен в bean-компонент sessionFactory
, чтобы позволить моему новомусущность, которая должна быть разрешена с помощью фабрики сеансов.
<property name="mappingResources" ref="mappingResources"/>
<property name="packagesToScan" value="com.project"/>
В моем новом объекте я сделал единственную ссылку на старую сущность, подобную этой
@ManyToOne
@JoinColumn(name = "oldEntityId")
private OldEntity old;
Старая сущность, которая выбранахорошо, используя устаревший метод, не может быть получен через спящий режим из новой аннотированной сущности.
Теперь, когда сущности инициализируются, генерируется это исключение:
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.project...NewEntity references an unknown entity: com.project...OldEntity
Если я пытаюсь простодобавьте аннотацию @Entity
к OldEntity
, эта ошибка будет заменена повторяющимся сообщением о сущности.
Если есть что-то, чего я могу здесь упустить или что я пытаюсь выполнить, невозможно, пожалуйста, дайте мнезнаю.
Spring Ver: org.springframework: spring-core: 4.3.14.RELEASE Hibernate Ver: org.hibernate: hibernate-core: 4.1.7.Final
Редактировать: ПоворотыЕсли я использую старый метод hbm.xml, все работает без проблем. У меня проблема только с аннотированным методом.