Столкнулся с такой проблемой: если в я пишу маппинги для сущностей в hibernate.cfg.xml, то их почему-то хибернейт игнорит и при компиляции программа падает с ошибкой Unknown entity. Сама часть с маппингом в cfg.xml выглядит следующим образом:
<hibernate-configuration>
<session-factory>
<!-- ........ -->
<mapping class="models.UserAccount"/>
</session-factory>
</hibernate-configuration>
Однако если мне вручную написать маппинг в конфигурации при получении SessionFactory:
Configuration configuration = new Configuration().configure();
configuration.addAnnotatedClass(UserAccount.class);
// И далее из этой конфигурации получаем объект SessionFactory
Тогда все работает прекрасно. Однако же не буду я в классе, который просто создает/передает объект SessionFactory писать сотню строк кода с добавлением AnnotatedClass'ов. Так вот, в чем моя ошибка? Что я делаю не так? В примерах вроде бы все так же, как у меня и написано, но только почему-то у меня это не работает.
Используйте аннотацию @Entity public class UserAccount{...} Маппинги в xml прописывать не надо. https://docs.jboss.org/hibernate/orm/6.0/quickstart/html_single/#tutorial_annotations
Используйте AnnotationConfiguration вместо Configuration
sessionFactory = new AnnotationConfiguration()
.configure().buildSessionFactory();
подробнее здесь https://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#setup-configuration
Сборка персонального компьютера от Artline: умный выбор для современных пользователей