新手, 提问表的映射问题。
设有table tb, 包含 人员类A , 和人员类B
如何和 class  人员类A  和 人员类B 进行映射?

解决方案 »

  1.   

    直接建个xml映射文件,或者直接用工具帮你生成
      

  2.   

    lz是说tb包含a和b?
    可否详细点
      

  3.   

    你的table tb中应该有一个字段来表示人员类型的吧: 
    -- -- -- -- -- -- -- -- -- -- -- --
    id    name    staff_type    ...
    1     Tom       A
    2     JacK      B      
    ...
    -- -- -- -- -- -- -- -- -- -- -- --
    映射文件大体这个样子吧:<hibernate-mapping>
    <class name="mypack.Stuff" table="STUFF">
    <id name="id" type="long" column="ID">
    <generator class="increment"/>
    </id>
    <!-- ...property... -->

    <subclass name="mypack.AStuff" discriminator-value="A">
    <!-- ...property... -->
    </subclass>

    <subclass name="mypack.BStuff" discriminator-value="B">
    <!-- ...property... -->
    </subclass>
    </class>
    </hibernate-mapping>
      

  4.   

    上面错了,重写一下:<hibernate-mapping>
    <class name="mypack.Staff" table="STAFF">
    <id name="id" type="long" column="ID">
    <generator class="increment"/>
    </id>
    <discriminator column="STAFF_TYPE" type="string" />
    <!-- ...property... -->

    <subclass name="mypack.AStaff" discriminator-value="A">
    <!-- ...property... -->
    </subclass>

    <subclass name="mypack.BStaff" discriminator-value="B">
    <!-- ...property... -->
    </subclass>
    </class>
    </hibernate-mapping>