這是公司表映射
<hibernate-mapping>
<class name="com.tangziyi.entity.Company"
table="t_company">
<id name="cid" column="cid">
<generator class="native"></generator>
</id>
<property name="cName" column="cName"></property>
<property name="cAddress" column="cAddress"></property>
<set name="setStaff">
<key column="csid"></key>
<one-to-many class="com.tangziyi.entity.Staff"/>
</set>
</class>
</hibernate-mapping>
這是員工表的映射
<hibernate-mapping>
<class name="com.tangziyi.entity.Staff"
table="t_staff">
<id name="sid" column="sid">
<generator class="native"></generator>
</id>
<property name="sName" column="sName"></property>
<property name="sGender" column="sGender"></property>
<property name="sPhone" column="sPhone"></property>
<many-to-one name="company" class="com.tangizyi.entity.Company" column="csid"></many-to-one>
</class>
</hibernate-mapping>
這是核心組態檔
<hibernate-configuration>
<session-factory>
<!-- 第一部分:配置資料庫>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">
jdbc:mysql:///hibernate_day03
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<!-- 第二部分:配置hibernate資訊>
<property name="hibernate.show_sql">true</property>
<!-- 用于格式化sql陳述句 -->
<property name="hibernate.format_sql">true</property>
<!-- 如果hibernate想自動創建表,需配置如下:
其中update的含義是如果表已經存在則更新,沒有則新建
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 配置資料庫方言 -->
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- 配置session與本地執行緒系結 -->
<property name="hibernate.current_session_context_class">
thread
</property>
<!-- 第三部分:將映射組態檔引入核心組態檔 -->
<mapping resource="com/tangziyi/entity/Company.hbm.xml"/>
<mapping resource="com/tangziyi/entity/Staff.hbm.xml"/>
</session-factory>
</hibernate-configuration>
這是測驗建表時的exception
Caused by: org.hibernate.MappingException: An association from the table t_staff refers to an unmapped class: com.tangizyi.entity.Company
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.secondPassCompileForeignKeys(InFlightMetadataCollectorImpl.java:1838)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.secondPassCompileForeignKeys(InFlightMetadataCollectorImpl.java:1809)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1627)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:278)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at com.tangziyi.Utils.HibernateUtils.<clinit>(HibernateUtils.java:21)
全路徑,全類名檢查了無數次沒問題,實在找不到問題在哪啊,求大神給看看
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117472.html
標籤:Web 開發
