LZ 买本书看下最好
http://hi.baidu.com/wain19/blog/item/8a16ca94cf91b81bd21b70e6.html

解决方案 »

  1.   

    hibernate支持联合主键,生成bean时需要多建一个只包含联合主键的类,比较复杂
    不建议这样做,最好是加一列自增长列做主键
    如果必须用联合主键建议使用eclipse等工具来自动生成,不然很容易出错
      

  2.   

    这个联合表
    public class Authorization implements Serializable {
    /**
     * 联合标识,包含用户、账号、资源
     */
    private AuthorId authorId;
    映射文件联合主键配置
    <composite-id name="authorId"
    class="com.ncs_cyber.account.author.entity.AuthorId" unsaved-value="undefined">
    <key-many-to-one name="user" 
    class="com.ncs_cyber.account.user.entity.UserInfo" lazy="false">
    <column name="uId" />
    </key-many-to-one>
    <key-many-to-one name="account"
    class="com.ncs_cyber.account.resource.entity.AccountInfo"
    lazy="false">
    <column name="aId" />
    </key-many-to-one>
    <key-many-to-one name="service"
    class="com.ncs_cyber.account.resource.entity.ServiceInfo"
    lazy="false">
    <column name="sId" />
    </key-many-to-one>
    </composite-id>
    联合主键类
    public class AuthorId implements Serializable {
    private UserInfo user;

    private AccountInfo account;

    private ServiceInfo service;
    其他根据对应关系配置就可以了。