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

[100分]求救Hibernate映射配置有关问题

2012-01-10 
[100分]求救Hibernate映射配置问题!我是用了Eclipse3.1+MyEclipse4.1让Hibernate插件自动创建映射文件和类

[100分]求救Hibernate映射配置问题!
我是用了Eclipse3.1   +   MyEclipse4.1让Hibernate插件自动创建映射文件和类文件。
但是不知道为什么老是抱错:
org.hibernate.DuplicateMappingException:   Duplicate   collection   role   mapping   chat.hibernate.pojo.User.chatDatas

具体配置:
////////////////////////////////////////////////////////////////////
我的数据库建表语句如下:

create   table   USER(
idnumber(10)   primary   key,
name   varchar2(30)   not   null,
passwordvarchar2(30)null
);

create   table   CHAT_DATA(
idnumber(10)   primary   key,
useridnumber(10)references   USER(id),
datavarchar2(4000)null,
timedate
);

////////////////////////////////////////////////////////////////////////////////
hibernate.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 ">

<!--   Generated   by   MyEclipse   Hibernate   Tools.                                       -->
<hibernate-configuration>

<session-factory>
<property   name= "connection.username "> vickcy </property>
<property   name= "connection.url "> jdbc:pointbase:server://localhost/chat </property>
<property   name= "dialect "> org.hibernate.dialect.PointbaseDialect </property>
<property   name= "myeclipse.connection.profile "> chat </property>
<property   name= "connection.password "> vickcy </property>
<property  

name= "connection.driver_class "> com.pointbase.jdbc.jdbcUniversalDriver </property>

<mapping   resource= "chat/hibernate/pojo/User.hbm.xml "> </mapping>
<mapping   resource= "chat/hibernate/pojo/ChatData.hbm.xml "> </mapping>

</session-factory>

</hibernate-configuration>

/////////////////////////////////////////////////////////////////////////////////////////
User.hbm.xml   文件配置如下:

<!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   -   Hibernate   Tools
-->
<hibernate-mapping>
        <class   name= "chat.hibernate.pojo.User "   table= "USER ">
                <id   name= "id "   type= "java.lang.Long ">
                        <column   name= "ID "   precision= "10 "   scale= "0 "   />
                        <generator   class= "increment "   />
                </id>


                <property   name= "name "   type= "java.lang.String ">
                        <column   name= "NAME "   length= "30 "   not-null= "true "   />
                </property>
                <property   name= "password "   type= "java.lang.String ">
                        <column   name= "PASSWORD "   length= "30 "   />
                </property>
                <set   name= "chatDatas "   inverse= "true ">
                        <key>
                                <column   name= "USERID "   precision= "10 "   scale= "0 "   />
                        </key>
                        <one-to-many   class= "chat.hibernate.pojo.ChatData "   />
                </set>
        </class>
</hibernate-mapping>

////////////////////////////////////////////////////////////////////////////
ChatData.hbm.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 ">
<!--  
        Mapping   file   autogenerated   by   MyEclipse   -   Hibernate   Tools
-->
<hibernate-mapping>
        <class   name= "chat.hibernate.pojo.ChatData "   table= "CHAT_DATA ">
                <id   name= "id "   type= "java.lang.Long ">
                        <column   name= "ID "   precision= "10 "   scale= "0 "   />
                        <generator   class= "increment "   />
                </id>
                <many-to-one   name= "user "   class= "chat.hibernate.pojo.User "   fetch= "select ">
                        <column   name= "USERID "   precision= "10 "   scale= "0 "   />
                </many-to-one>
                <property   name= "data "   type= "java.lang.String ">
                        <column   name= "DATA "   length= "4000 "   />


                </property>
                <property   name= "time "   type= "java.util.Date ">
                        <column   name= "TIME "   length= "10 "   />
                </property>
        </class>
</hibernate-mapping>

[解决办法]
mark
[解决办法]
找了半天没看到你的chat.hibernate.pojo.User类

另外检查路径
[解决办法]
路径错了把。

[解决办法]
你用的什么数据库?

Connection URL 检查有没有错。

路径,检查路径,比较敏感的。

用MyEclipse 的Hibernate支持感觉不是很好,用另外一个开源的Hibernate S....后面不记得怎么拼了。
[解决办法]
不能创建 User表吧? Pointbase 没用过.

不过 User 在很多数据库中都是关键字

Oracle / SQLSERVER 中 create table User 会报错的,
如果要创建 User 表, 要加双引号, 但这样不方便写代码.

你在 pointbase 中测试下

建议换个名字, 比如 Usr
[解决办法]
1.Could not read mappings from resource: chat/hibernate/pojo/Usr.hbm.xml
这是不能读取的意思,到web-info/classes下看一下你的文件是不是没编译

2.hibernate.cfg.xml中的mapping路径是否正确
[解决办法]
chat.hibernate.pojo.Usr.chatDatas这是你的hibernate-mapping文件;
chat.hibernate.pojo.User.chatDatas这是你在hibernate.cfg.xml中的配制.
两个不一样啊,到底是User还是Usr,配制的仔细检查下,一般都是那个地方没注意写错了,不会有太大问题的.

热点排行
Bad Request.