Орг. Hibernate.annotationException: @onetoone или @manytoone on Ссылки неизвестного сущности

Я получаю следующее исключение в гибернации:

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. В БД имеется отношение между двумя:

  • SwitchPort 1: 1 ... 0: N Konfiguracnitemplate (SwitchPort всегда ссылается на KonfigurAcnitemplate; konfiguracnitemplate можно ссылаться на нулю или более раз)
  • Switchport имеет fk konfiguracnitemplateAccess_id для Это отношение.

В ... / 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;

Я также проверил:

  • Оба объекта находятся в одном пакете
  • , они оба аннотированы «@Entity», используя «Импортировать javax.persistentence.entity;»
  • Создание дает никаких сообщений об ошибках / предупреждениях
  • , пока ссылка в SwitchPort Прокомментировал все в порядке

Независимо от того, что я пытаюсь избавиться от «ссылок неизвестного объекта». Может кто-нибудь, пожалуйста, поделитесь идеей, что происходит или, может быть, как отладить проблему? Stacktrace в верхней части поста - это все, что я получаю в журналах.

Весь вход очень ценится!

7
задан Martin 8 September 2011 в 14:38
поделиться