我的数据库为mysql 大家看看的我的*.hbm.xml文件对吗?
<?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">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.dtree.entity.Users" table="users" schema="dbo" catalog="dtree">
        <id name="userId" type="java.lang.Integer">
            <column name="userId" />
            <generator class="native" />
        </id>
        <many-to-one name="role" class="com.dtree.entity.Role" lazy="false" >
            <column name="role_id" />
        </many-to-one>
        <property name="userName" type="java.lang.String">
            <column name="userName" length="50" />
        </property>
        <property name="userPassword" type="java.lang.String">
            <column name="userPassword" length="50" />
        </property>
    </class>
</hibernate-mapping>

解决方案 »

  1.   

    单单这个文件是看不出错误的,你要把全部的影射文件与POJO类放上来才知道.
      

  2.   

    *.hbm.xml文件怎么自动生成呢?谢谢
      

  3.   

    使用工具
    CodeSmith,
    MyGeneration
      

  4.   

    谢谢楼上的,感觉对java编程总是把握不住呢
    我搜搜去
      

  5.   

    如果你在Users里声明了Role
    例如private Role role;
    应该是可以的
      

  6.   

    都声明了问题是如何才能自动生成hbm.xml文件呢?有没有一个step by step?
      

  7.   

    2008-09-03 10:06/**
    * Hibernate学习心得 之 开发环境配置 * power by rany <[email protected]>
    */一、开发环境:Java1.5 + Tomcat5.5 + eclipse(Jboss-IDE) + myeclipse 二、hbm.xml 和 POJO的生成 1、用myeclipse 生成 hbm.xml 和POJO : 
    操作步骤: 
                  1)、用eclipse新建WEB 工程(如:hibernate_test)。 
                  2)、导入Hibernate, (如果用struts 和 spring 那么在此也一起导入)。右键点击工程hibernate_test,在出现的菜单中找到myeclipse ,下面是分别导入的细节: 
    Hibernate :myeclipse –> Add Hibernate capabilities… 
    Struts :myeclipse –> Add Struts capabilities… 
    Spring : myeclipse –> Add Spring capabilities… 
                  3)、前提,数据库表结构已经设计好了。(这里用mysql)。 
                       A、浏览数据库:Window -> Show view -> Other-> myeclipse enterprise workbench -> DB Browser 。 
                       B、配置mysql数据库的JDBC驱动:在“DB Browser”窗口的空白处点右键 -> New 。出现Database Profile窗口(这里说明Driver, 其他的比较简单),点击Confiqure database driver,出现Preferences(Filtered)窗口,点“New…”,出现New Driver 窗口,出现New Driver 窗口中的各项填写(如下): 
    Driver template :选择Mysql Connector /J 
    Driver name :MySQL Connector 
    Connection URL :jdbc:mysql://localhost:3306/数据库名称 
    点击“Add JARS…”找到Mysql 的驱动,添加进来。 
    Driver classname :com.mysql.jdbc.Driver 
    确定,配置完成 
                      C、右键点击刚刚配置的数据库连接: 
                          A)、“Open Connection…”连接数据库。 
                          B)、找到要操作的数据库,打开“TABLE”。 
                          C)、右键点击表名 -> “Hibernate Reverse Engineering ….”出现Hibernate Reverse Engineering 窗口。 
                          D)、选择Java src folder (Browse…),hbm.xml 和POJO生成的位置。 
                          E)、选中“Hibernate mapping file (*.hbm.xml) for each database table” 
    “Update hibernate configuration with mapping file location” 
    “Java Data Ojbect (POJO <> DB Tabel)” 
    其他的不选中,(如果你是用spring,那么下面选项的也要选中,这里省略)。 
                          F)、点“Next”在ID Generator :中选择native 。(因为我的mysql的ID是设置自增的)。 
                          G)、“Next” –> “finish” ,到此 hbm.xml 和POJO生成完成。
     
      

  8.   

    <property name="userName" type="java.lang.String"> 
                <column name="userName" length="50" /> 
            </property> 应该是type="string"