2013-04-20 6 views
0

Я работаю над веб-приложением java JSP, использующим инфраструктуру hibernate.Hibernate java web application

Я начинаю начинаю с JSP/спящего режима, и я не могу заставить спящий режим работать. Я следую этому руководству: https://netbeans.org/kb/docs/web/hibernate-webapp.html Все это сработало. Я использовал xampp с phpmyadmin, и я мог выполнить запрос HQL через файл hibernate.cfg.xml.

Тогда я пытался использовать то же самое с базой данных, которую я использую для веб-приложения. Последовали все шаги и прошли через всех волшебников. Но я не могу выполнить запрос HQL.

следующее сообщение об ошибке Дано:

org.hibernate.MappingException: An association from the table campingsperfestival refers to an unmapped class: festivalOverview.Campings 
    at org.hibernate.cfg.Configuration.secondPassCompileForeignKeys(Configuration.java:1252) 
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1170) 
    at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:324) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286) 
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859) 

Я следовал гибернации Mapping файлов и объектов POJO из мастера базы данных, и это породило .java и .hbm.xml файл для всех таблиц в базе данных, за исключением одного таблица: таблица «campingsperfestival». Я несколько раз проделывал мастер и начинал все это, но он по-прежнему не генерирует файл .java и .hbm.xml для таблицы «campingsperfestival».

Стол «campingsperfestival» представляет собой таблицу с двумя идентификаторами, в которой оба имеют внешний ключ. Есть фестивали и кемпинги, у которых есть удостоверения личности, «campingsperfestival» соответствует этим двум id в одном столе.

Campings.hbm.xml:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<!-- Generated 20-apr-2013 12:04:37 by Hibernate Tools 3.2.1.GA --> 
<hibernate-mapping> 
    <class name="festivalOverview.Campings" table="campings" catalog="groep11_festivals"> 
     <id name="campId" type="java.lang.Integer"> 
      <column name="camp_id" /> 
      <generator class="identity" /> 
     </id> 
     <property name="campAdres" type="string"> 
      <column name="camp_adres" not-null="true" /> 
     </property> 
     <property name="campCap" type="int"> 
      <column name="camp_cap" not-null="true" /> 
     </property> 
     <set name="festivalses" inverse="true" table="campingsperfestival"> 
      <key> 
       <column name="camp_id" not-null="true" /> 
      </key> 
      <many-to-many entity-name="festivalOverview.Festivals"> 
       <column name="fest_id" not-null="true" /> 
      </many-to-many> 
     </set> 
     <set name="facpercamps" inverse="true"> 
      <key> 
       <column name="camp_id" not-null="true" /> 
      </key> 
      <one-to-many class="festivalOverview.Facpercamp" /> 
     </set> 
    </class> 
</hibernate-mapping> 

Festivals.hbm.xml:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<!-- Generated 20-apr-2013 12:04:37 by Hibernate Tools 3.2.1.GA --> 
<hibernate-mapping> 
    <class name="festivalOverview.Festivals" table="festivals" catalog="groep11_festivals"> 
     <id name="festId" type="java.lang.Integer"> 
      <column name="fest_id" /> 
      <generator class="identity" /> 
     </id> 
     <property name="festNaam" type="string"> 
      <column name="fest_naam" length="100" not-null="true" /> 
     </property> 
     <property name="festLocatie" type="string"> 
      <column name="fest_locatie" length="200" not-null="true" /> 
     </property> 
     <property name="festDatum" type="date"> 
      <column name="fest_datum" length="10" not-null="true" /> 
     </property> 
     <property name="festDuur" type="byte"> 
      <column name="fest_duur" not-null="true" /> 
     </property> 
     <set name="ticketses" inverse="true"> 
      <key> 
       <column name="fest_id" not-null="true" /> 
      </key> 
      <one-to-many class="festivalOverview.Tickets" /> 
     </set> 
     <set name="bandsperfestivals" inverse="true"> 
      <key> 
       <column name="fest_id" not-null="true" /> 
      </key> 
      <one-to-many class="festivalOverview.Bandsperfestival" /> 
     </set> 
     <set name="campingses" inverse="false" table="campingsperfestival"> 
      <key> 
       <column name="fest_id" not-null="true" /> 
      </key> 
      <many-to-many entity-name="festivalOverview.Campings"> 
       <column name="camp_id" not-null="true" /> 
      </many-to-many> 
     </set> 
     <set name="tickettypesperfestivals" inverse="true"> 
      <key> 
       <column name="fest_id" not-null="true" /> 
      </key> 
      <one-to-many class="festivalOverview.Tickettypesperfestival" /> 
     </set> 
    </class> 
</hibernate-mapping> 

Я только новичок в спящий режим и на самом деле не знаю, как решить эту проблему. Любая помощь очень ценится!

ответ

0

Я предполагаю, что лагеряперфестиваль - это таблица соединений между двумя классами, Кемпинги и Фестиваль? Вы определили оба этих класса и их сопоставление?

Ошибка, которая у вас там есть, говорит, что она не может создать campingsperfestival, поскольку она относится к Campings, которая не определена как спящий класс. Поэтому убедитесь, что Кемпинг определен, и вы правильно настроили отображение.

Если вы все еще неясны, мы сможем помочь вам, если вы покажете java/mappings, которые у вас есть для кемпингов и фестивалей.

Как в стороне, если это новый проект, который вы предпринимаете, я бы рекомендовал использовать классы спящего режима, основанные на аннотациях. Вы также можете найти более продуктивный опыт обучения для создания собственных классов сущностей для спящего режима, а не для использования netbeasns, но это зависит от личных предпочтений.

+0

Так что мне нужно создать .java и .hbm.xml для самого лагеряперфестиваля? Почему мастер не сделал этого? – Arnout

+0

Я не пользовался мастером, вы обратное проектирование отображения из таблиц? Создал ли мастер java и сопоставления для таблиц кемпингов и фестивалей? – rhinds

+0

Да, я. Мастер создал java и сопоставление для столов для кемпинга и фестивалей, но не создал их для таблиц campingsperfestival. – Arnout

Смежные вопросы