首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate 一对一照射 为什么 配置文件无法加载映射文件

2012-09-28 
hibernate 一对一映射 为什么 配置文件无法加载映射文件?Java code//这是id-card的映射文件?xml version

hibernate 一对一映射 为什么 配置文件无法加载映射文件?

Java code
//这是id-card的映射文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="demo01">    <class name="id_card">        <id name="id">            <generator class="native" />        </id>        <property name="name" />        <one-to-one name="Person" />        <!-- 创建一对一映射 -->    </class></hibernate-mapping>

Java code
//这是id-card类实例package demo01;public class id_card {    private int id;    private String name;    private Person per;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Person getPer() {        return per;    }    public void setPer(Person per) {        this.per = per;    }}


Java code
//这是配置文件<?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">    <!-- Generated by MyEclipse Hibernate Tools.                   --><hibernate-configuration>    <session-factory>        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>        <property name="connection.url">jdbc:mysql://localhost:3306/data_01</property>        <property name="connection.username">root</property>        <property name="connection.password">mysqladmin</property>        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="myeclipse.connection.profile">MyEclipse Derby</property>        <property name="show_sql">true</property>        <property name="hbm2ddl.auto">create</property>        <mapping resource="DAO_/User.bhm.xml" />        <mapping resource="DAO_/School.bhm.xml" />        <mapping resource="DAO_/Student.bhm.xml" />        <mapping resource="demo01/Person.bhm.xml" />        <mapping resource="demo01/id_card.bhm.xml" />    </session-factory></hibernate-configuration>

Java code
下面是报告的异常 说无法从配置文件 初始化id_card的映射Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping document from resource demo01/id


[解决办法]
Java code
<?xml version="1.0" encoding="utf-8"?><!-- 映射文件需要指定格式 --><!DOCTYPE hibernate-mapping PUBLIC        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="demo01">    <class  name="id_card" table="id_card" >        <id name="id" type="java.lang.Integer" >            <generator class="native" />        </id>        <property name="name" type="java.lang.String" >            <column name="name" />        </property>        <one-to-one name="Person" /><!-- 这里是不是少个column属性?就是你Person映射里面的那个外键的名字 -->        <!-- 创建一对一映射 -->    </class></hibernate-mapping> 


[解决办法]

Java code
<one-to-one name="Person" class="com.XX.XX">            <column name="外键的名字"  />        </one-to-one>
[解决办法]
//这是id-card的映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="demo01">//这块只是包名它能找见你对应的是哪个类吗?
<class name="id_card">
<id name="id">
<generator class="native" />
</id>
<property name="name" />
<one-to-one name="Person" />
<!-- 创建一对一映射 -->
</class>
</hibernate-mapping>



[解决办法]
探讨

//这是id-card的映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate……

热点排行