Я получаю следующее исключение в гибернации:
org.hibernate.AnnotationException: @OneToOne or @ManyToOne on cz.rohan.dusps.model.Switchport.konfiguracniTemplateAccess references an unknown entity: cz.rohan.dusps.model.KonfiguracniTemplate
org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:103)
org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:541)
org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:523)
org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:380)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1377)
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
cz.rohan.dusps.helper.SessionFactoryHelper.initFactory(SessionFactoryHelper.java:122)
cz.rohan.dusps.helper.SessionFactoryHelper.getSessionFactory(SessionFactoryHelper.java:134)
cz.rohan.dusps.filter.HistorieZmenFilter.doFilter(HistorieZmenFilter.java:102)
cz.rohan.dusps.filter.CharsetFilter.doFilter(CharsetFilter.java:41)
после ~ 20 часов, потраченных на проблему с различными людьми, прочитав все возможные блог или форум, я действительно отчаявшись здесь.
Это проект среднего размера. Я должен упомянуть, что база данных является Postgres 9.1, и мы генерируем БД, используя инструмент моделирования. Hibernate подключается к базе данных, но не генерирует ее.
Я создал новое сущность в базе данных, это называется «KonfigurAcnitemplate» (шаблон конфигурации). Я создал модель, контроллер, форму, валидаторы, .jsp, все в основном скопированные 1: 1 из существующей сущности аналогичного характера. Теперь я могу работать с Konfiguracnitemplate, Crud полностью работает.
Проблема приходит, когда я ссылаюсь на эту konfiguracnitemplate от объекта под названием Switchport. В БД имеется отношение между двумя:
В ... / Model / SwitchPort.java Соотношение сопоставлено так же, как и все другие отношения, которые работают:
@ManyToOne
@JoinColumn(nullable = false)
private KonfiguracniTemplate konfiguracniTemplateAccess;
Я пробовал различные формы:
@ManyToOne
@JoinColumn(name="konfiguracnitemplateaccess_id", nullable = false)
private KonfiguracniTemplate konfiguracniTemplateAccess;
или
@ManyToOne(targetEntity=KonfiguracniTemplate.class)
@JoinColumn(name="konfiguracnitemplateaccess_id", nullable = false)
private KonfiguracniTemplate konfiguracniTemplateAccess;
Я также проверил:
Независимо от того, что я пытаюсь избавиться от «ссылок неизвестного объекта». Может кто-нибудь, пожалуйста, поделитесь идеей, что происходит или, может быть, как отладить проблему? Stacktrace в верхней части поста - это все, что я получаю в журналах.
Весь вход очень ценится!