本文介绍了类未映射的异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,我有一个问题,我无法解决。我在谷歌周围搜索,发现没有什么好处...

我试图建立关系beetwen两个类:客户端(一对一)许多) - 帐户(多对一),但我得到一个例外:

Hello , I have a problem which i cant solve.I searched all around google and found nothing good here...
Im trying to make relation beetwen two classes : Client(one-to-many) - Account(many-to-one)but i get an exception :

org.hibernate.MappingException: Association references unmapped class: Account





但xml对我来说似乎没问题。任何人都可以告诉我什么是错的?>







客户端xml:





but the xml seems ok for me.Anyone can tell me whats wrong?>



Client xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated May 27, 2015 12:21:43 AM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
	<class name="Client" table="CLIENT">
		<id name="id" type="int">
			<column name="ID" />
			<generator class="identity" />
		</id>
		<property generated="never" lazy="false" name="firstName"
			type="java.lang.String">
			<column name="FIRSTNAME" />
		</property>
		<property generated="never" lazy="false" name="lastName"
			type="java.lang.String">
			<column name="LASTNAME" />
		</property>
		<property generated="never" lazy="false" name="age" type="int">
			<column name="AGE" />
		</property>
		<property generated="never" lazy="false" name="mail"
			type="java.lang.String">
			<column name="eMAIL" />
		</property>
		<property generated="never" lazy="false" name="phone" type="int">
			<column name="PHONE" />
		</property>
		<set inverse="true" lazy="true" name="account" sort="unsorted">
			<key column="id" />
			<one-to-many class="Account" />
		</set>
	</class>
</hibernate-mapping>





账户xml:





Account xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated May 27, 2015 1:15:20 AM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
	<class name="com.bank.bank.pojo.Account" table="ACCOUNT">
		<id name="id" type="int">
			<column name="ID" />
			<generator class="assigned" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="NAME" />
		</property>
		<property name="clientId" type="int">
			<column name="CLIENTID" />
		</property>
		<property name="bankId" type="int">
			<column name="BANKID" />
		</property>
		<property name="balance" type="double">
			<column name="BALANCE" />
		</property>
		<property name="currency" type="java.lang.String">
			<column name="CURRENCY" />
		</property>
		<property name="iBan" type="java.lang.String" access="field">
			<column name="IBAN" />
		</property>

		<many-to-one name="client" class="Client" column="id" />
	</class>
</hibernate-mapping>





cfg xml:





cfg xml:

<?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">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bank_db</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<mapping resource="com/bank/bank/pojo/Account.hbm.xml" />
		<mapping resource="com/bank/bank/pojo/Bank.hbm.xml" />
		<mapping resource="com/bank/bank/pojo/Client.hbm.xml" />
	</session-factory>
</hibernate-configuration>

推荐答案

use this
<one-to-many class="com.bank.bank.pojo.Account" />
instead of
<one-to-many class="Account" />


这篇关于类未映射的异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-27 04:27
查看更多