簡體   English   中英

使用Hibernate工具會話工廠時出錯

[英]Error when using Hibernate tools Session factory

我得到org.hibernate.MappingException:找不到實體類:公司

在我的Spring MVC項目中,我已經有帶有注釋映射的類,並且使用了Hibernate。 我安裝並配置了Hibernate Tools以使用HSql編輯器和映射圖。 映射圖打開,但是Hsql編輯器無法運行。 在Hibernate代碼生成配置中,我僅導出了XML映射和XML配置。 如何解決此問題,以便Hsql編輯器可以工作?

我通過Hibernate Tools中的Edit啟動配置屬性添加的映射。

更新:當我右鍵單擊我的類文件(開放源文件)時,hibernate => Configuration => Company(或任何其他類文件),hibernate拋出錯誤: 找不到源文件。 但是如果我單擊“映射文件”,它將打開。

這是休眠的cfg文件,它位於src文件夾中:已更新:

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="sessionFactory">
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.password">xxxx</property>
    <property name="hibernate.connection.url">jdbc:mysql://&lt;host&gt;&lt;:port&gt;/&lt;database&gt;</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <mapping resource="com/web/handyman/entity/Company.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/Address.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/Customers.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/Handyman.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/Locations.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/User.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/UserRoles.hbm.xml"></mapping>
     <mapping resource="com/web/handyman/entity/WorkOrder.hbm.xml"></mapping>
</session-factory>

這是我的Company.hbm.xml ,它位於com.web.handyman.entity包中

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated Jun 8, 2017 12:00:36 PM by Hibernate Tools 5.1.0.Alpha1 -->
<hibernate-mapping>
<class name="Company" table="company" catalog="" optimistic-lock="version">
    <id name="id" type="java.lang.Integer">
        <column name="id" />
        <generator class="identity" />
    </id>
    <many-to-one name="address" class="Address" fetch="select">
        <column name="address_id" />
    </many-to-one>
    <property name="companyName" type="string">
        <column name="company_name" length="45" />
    </property>
    <property name="phoneNumber" type="string">
        <column name="phone_number" length="25" />
    </property>
    <property name="fax" type="string">
        <column name="fax" length="25" />
    </property>
    <property name="email" type="string">
        <column name="email" length="25" />
    </property>
    <property name="website" type="string">
        <column name="website" length="45" />
    </property>
    <property name="info" type="string">
        <column name="info" length="250" />
    </property>
    <set name="customerses" table="customers" inverse="true" lazy="true" fetch="select">
        <key>
            <column name="company_id" />
        </key>
        <one-to-many class="Customers" />
    </set>
</class>
</hibernate-mapping>

這是休眠錯誤:

    org.hibernate.MappingException: entity class not found: Company
at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:132)
at org.hibernate.tuple.PropertyFactory.getGetter(PropertyFactory.java:323)
at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:63)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:138)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:509)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:124)
at sun.reflect.GeneratedConstructorAccessor275.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96)
at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:344)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:465)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:708)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at sun.reflect.GeneratedMethodAccessor734.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.tools.hibernate.runtime.common.Util.invokeMethod(Util.java:43)
at org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.buildTargetSessionFactory(AbstractConfigurationFacade.java:321)
at org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.buildSessionFactory(AbstractConfigurationFacade.java:169)
at org.hibernate.console.ConsoleConfiguration$5.execute(ConsoleConfiguration.java:285)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:108)
at org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:280)
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.execute(ExecuteQueryAction.java:82)
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.run(ExecuteQueryAction.java:55)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.runWithEvent(ExecuteQueryAction.java:59)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:462)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [Company]
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:229)
at org.hibernate.boot.internal.ClassLoaderAccessImpl.classForName(ClassLoaderAccessImpl.java:62)
at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:127)
... 58 more
 Caused by: java.lang.ClassNotFoundException: Could not load requested class : Company
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:217)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:226)
... 60 more

在休眠配置文件中添加Company.hbm.xml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM