user是所有用户的基类 
目前我有2种用户 Stu Tea ,Stu 继承于 User , Tea也继承于User
Stu 又和clazz有 多对一的关联,
那么TbUser.hbm.xml 应该怎么设置啊?(看网上子类的配置文件都是和父类融合在一起的, 请问可不可以分开写呢? 
就是Stu还是有存在这单独的配置文件TbStu.hbm.xml, 然后TbUser.hbm.xml 再去ref这个文件, 不过我试了很多次都不行)<?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="pojo.TbUser" table="tb_user" catalog="ttt">
<id name="userid" type="java.lang.Integer">
<column name="userid" />
<generator class="native" />
</id>
<property name="username" type="java.lang.String">
<column name="username" length="32" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="32" />
</property>
<property name="roleid" type="java.lang.Integer">
<column name="roleid" />
</property>
<joined-subclass name="pojo.TbStu" table="tb_stu">
<key column="userid"></key>
<property name="stuno"></property>
<property name="stuname"></property><!-- 加上这里的clazz 就会报错Configuration.secondPassCompileForeignKeys(Table, Set) line: 1299 
当然了 在Stu 种也是有对应的tbClazz属性的-->
<many-to-one name="tbClazz" class="pojo.TbClazz" fetch="select">
cascade="all">
<column name="clazzid" />
</many-to-one>
</joined-subclass>
</class>
</hibernate-mapping>

解决方案 »

  1.   


    问题就在于, 如何把多对一文件融入呢? 
    你的意思是最后都没有 tbClazz.hbm.xml 这个文件?配置信息全部写到 TbUser中的subClass中去?
    那TbUser不是很长很长?
      

  2.   

    配置文件可以写在一起,应该也可以分开来,你用的是MyEclipse这类软件吗,可以试试能不能实现表达出想要配置的语句
      

  3.   

    怎么用myeclipse直接弄啊? 我这是 类表继承的关系,
     myeclipse生成后没有这样的关系啊?