2013-09-08 3 views
1

У меня есть спящий файл конфигурации следующим образомКласс не отображается исключение в спящий режим

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
     <property name="hibernate.connection.password">postgres</property> 
     <property name="hibernate.connection.url">jdbc:postgresql://10.162.9.130:5432/mining</property> 
     <property name="hibernate.connection.username">postgres</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
     <property name="hibernate.current_session_context_class">thread</property> 
</session-factory> 
</hibernate-configuration> 

Mapping файлы записываются и включены в Мамы с детьми-hibern.xml файл следующим образом

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans> 
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
<property name="dataSource"><ref bean="dataSource" /></property> 
<property name="mappingResources"> 
<list> 
<value>nic/mams/model/ApplicantHistory.hbm.xml</value> 
<value>nic/mams/model/ApplicantAddressHistory.hbm.xml</value> 
<value>nic/mams/model/ApplicantContactHistory.hbm.xml</value> 
<value>nic/mams/model/ApplicantLeases.hbm.xml</value> 
<value>nic/mams/model/GeneratedChallan.hbm.xml</value> 
<value>nic/mams/model/OffenderType.hbm.xml</value> 
<value>nic/mams/model/OffenceDetailRule.hbm.xml</value> 
<value>nic/mams/model/TemperoryAppNotes.hbm.xml</value> 
<value>nic/mams/model/TemperoryFilePath.hbm.xml</value> 
<value>nic/mams/model/OtherDocuments.hbm.xml</value> 
<value>nic/mams/model/OffenceSubactsRules.hbm.xml</value> 
<value>nic/mams/model/OffenceActRules.hbm.xml</value> 
<value>nic/mams/model/Vehicles.hbm.xml</value> 
<value>nic/mams/model/ApprovedMajorMineral.hbm.xml</value> 
<value>nic/mams/model/GoogleImage.hbm.xml</value> 
<value>nic/mams/model/PasswordHistory.hbm.xml</value> 
<value>nic/mams/model/LeaseTransfer.hbm.xml</value> 
<value>nic/mams/model/TransferApplicantCompany.hbm.xml</value> 
<value>nic/mams/model/MailSettings.hbm.xml</value> 
<value>nic/mams/model/LeaseCompanyAddress.hbm.xml</value> 
<value>nic/mams/model/FinancialYear.hbm.xml</value> 
<value>nic/mams/model/IncomeTax.hbm.xml</value> 
<value>nic/mams/model/AdditionalCharge.hbm.xml</value> 
<value>nic/mams/model/MenuPrivileges.hbm.xml</value> 
<value>nic/mams/model/AddressType.hbm.xml</value> 
<value>nic/mams/model/AdvaloramRoyalty.hbm.xml</value> 
<value>nic/mams/model/Agent.hbm.xml</value> 
<value>nic/mams/model/AppJawsize.hbm.xml</value> 
<value>nic/mams/model/Applicant.hbm.xml</value> 
<value>nic/mams/model/ApplicantAddress.hbm.xml</value> 
<value>nic/mams/model/ApplicantCompany.hbm.xml</value> 
<value>nic/mams/model/ApplicantContact.hbm.xml</value> 
<value>nic/mams/model/ApplicantLogin.hbm.xml</value> 
<value>nic/mams/model/ApplicantStatus.hbm.xml</value> 
<value>nic/mams/model/Application.hbm.xml</value> 
<value>nic/mams/model/ApplicationDocument.hbm.xml</value> 
<value>nic/mams/model/ApplicationHistory.hbm.xml</value> 
<value>nic/mams/model/ApplicationMineral.hbm.xml</value> 
<value>nic/mams/model/ApplicationSpecificQuery.hbm.xml</value> 
<value>nic/mams/model/ApplicationSpecificQueryValues.hbm.xml</value> 
<value>nic/mams/model/ApplicationStatus.hbm.xml</value> 
<value>nic/mams/model/ApplicationSurvey.hbm.xml</value> 
<value>nic/mams/model/ApplicationType.hbm.xml</value> 
<value>nic/mams/model/ApplnSecurityFee.hbm.xml</value> 
<value>nic/mams/model/AreaSpecification.hbm.xml</value> 
<value>nic/mams/model/Bank.hbm.xml</value> 
</property> 
</beans> 

Следующий код успешно выполнен,

Applicant applicant=null; 
Object[] ob={leaseNo,Integer.parseInt(appType)}; 
Session session=getHibernateTemplate().getSessionFactory().openSession(); 
Transaction tx=session.beginTransaction(); 
if(session!=null){ 
    Query query=session.createQuery("select a from Applicant as a inner join a.applications as b inner join " + 
    "b.applicationType as c inner join b.permits as d where d.permitNo=? and c.applicationTypeId=?"); 
    query.setParameters(ob, new Type []{Hibernate.STRING,Hibernate.INTEGER}); 
    @SuppressWarnings("unchecked") 
    List<Applicant> apllApplicants=query.list(); 

} 
tx.commit(); 

Проблема возникает при выполнении следующего кода, кроме иона произошло

SessionFactory sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory(); 
Session session = sessionFactory.getCurrentSession();    
Transaction tx=session.beginTransaction(); 
Query query=session.createQuery("select a from Applicant as a inner join a.applications as b inner join " + 
     "b.applicationType as c inner join b.permits as d where d.permitNo=? and c.applicationTypeId=?"); 
query.setParameters(ob, new Type []{Hibernate.STRING,Hibernate.INTEGER}); 
@SuppressWarnings("unchecked") 
List<Applicant> apllApplicants=query.list(); 
tx.commit(); 

Исключение составляет

org.hibernate.hql.ast.QuerySyntaxException: Applicant is not mapped d [select a from Applicant as a inner join a.applications as b inner join b.applicationType as c inner join b.permits as d where d.permitNo=? and c.applicationTypeId=?] 

Что такое решение для this.Any один знаю, пожалуйста, помогите мне

ответ

1

Вы работаете в двух разных контекстах:

  1. первый пример - Spring-context: Сессия построена через LocalSessionFactoryBean, ответственность загрузки hibernate.cfg.xml И все отображений, как описан в spring-context.xml
  2. Второго примера - Native Hibernate: Сессия построена с использованием библиотеки Hibernate Configuration ответственность загрузки ТОЛЬКО hibernate.cfg.xml, который не содержит отображение класса; добавьте <mapping resource="path.to.your.mappedClass.hbm.xml"/> к вашему hibernate.cfg.xml, чтобы решить эту проблему.
+0

Мой вопрос заключается в том, что, как мы можем использовать картографические файлы, объявленным в Спринг-контексте в hibernate.cfg.xml – Pramil

+0

вы должны использовать Mapping файл гибернации, как описано в http://www.tutorialspoint.com/hibernate /hibernate_mapping_files.htm –

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