2014-09-24 2 views
0

Я использую hibernate ORM в своем проекте. Сейчас на карте объекты, как это:настроить hibernate для автоматической сопоставления объектов

<mapping class="entities.User"/> 

, но я должен сделать это для каждого объекта я создаю - есть все, что я могу поставить в конфигурации спящего режима, чтобы сделать его просканировать себя для аннотированных объектов в определенном пакете?

спасибо

+0

У вас есть альтернативный 'cfg.addAnnotatedClass (Entity.class)', но я не думаю, что сопоставление может быть автоматизировано. – ares

ответ

1

Вы можете поместить все ваши Java объекты в JAR файл, а затем укажите путь к JAR файла в конфигурационном файле гибернации, как это:

<mapping jar="path_to_your_jar_file"/> 

Update:

Это полезно, только если у вас есть файлы hbm.xml для сопоставления вместо аннотаций на ваших классах. Эти файлы сопоставления должны быть частью файла JAR.

Посмотрите на эту ссылку для addJar метод Configuration класс.

1

Использование весны поможет вам получить отсканированный пакет. См. Конфигурацию ниже

<bean id="sessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <property name="packagesToScan"> 
      <list> 
       <value>com.tds.hibernate.entities</value> 
      </list> 
     </property> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
       <prop key="hibernate.current_session_context_class">thread</prop> 

      </props> 
     </property> 

    </bean> 
Смежные вопросы