1

我有休眠配置文件如下

    en<?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://localhost: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>
        <mapping resource="../WEB-INF/mams-hibern.xml"></mapping>
    </session-factory>
</hibernate-configuration>

mams-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>

但我得到例外

org.hibernate.hql.ast.QuerySyntaxException: 申请人未映射 d [从申请人中选择 a 作为内部联接 a.applications 作为 b 内部联接 b.applicationType 作为 c 内部联接 b.permits 作为 d where d.permitNo=? 和 c.applicationTypeId=?]

这是什么解决方案。任何人都知道请帮助我

4

1 回答 1

1

就我的知识和研究而言,有两件事可能会让你陷入你所遇到的那种异常。

  1. 检查您的 hql 查询是否引用实体/属性名称,而不是表/列名称。请参阅 Hibernate 错误 - QuerySyntaxException: users is not mapped [from users]

  2. 检查类“名称”属性是否正确指向实体类。见org.hibernate.hql.internal.ast.QuerySyntaxException: table is not mapped [from table]

于 2013-09-07T16:46:28.303 回答