Как использовать Hibernate в самописной библиотеке Java?
Я пишу свою библиотеку, в которой нужно хранить данные в БД. Для этого использую Hibernate
. Подключаю библиотеку к стороннему приложению, где уже открыто соединение Hibernate
, через jar
. Во время транзакций внутри библиотеки, связанных с моими сущностями, получаю ошибку:
org.hibernate.query.sqm.UnknownEntityException: Could not resolve root entity 'CustomVector'
Предполагаю, что Hibernate
не видит сущностей из библиотек, поскольку в БД также не создались таблицы, связанные с ними. Отмечу, что моя БД никак не связана сущностями с БД в приложении, все спроектировано автономно.
Работа с Hibernate
производится через аннотации типа @Entity
у основных классов, а также через DAO-классы. Соединение осуществляю через EntityManagerFactory
и EntityManager
, они приходят из внешнего приложения в библиотеку.
Каким образом можно подключить библиотеку к существующему в другом приложении соединению с БД, чтобы в дальнейшем библиотека могла работать со своими данными там? Или как это можно обойти, чтобы библиотека могла хранить свои данные где-то и затем подгружать и обновлять их по мере надобности?
Один из классов:
@Entity
@Table(name="custom_profile")
public class CustomVector {
@Id
@Column(name="vector_id")
private int vector_id;
// ...
}
Запрос, на который приходит ошибка:
FROM CustomVector WHERE vector_id = 2