hibernate相同主键的关联

对于已经存在的数据库系统,我们可能遇到这种情况
table Report_CAC:
REPORTID primary key
RPTCONTENT
......
table Report_SASP:
REPORTID primary key
RECEIVETIME
INSERTTIME
TT
2个表的主键完全相同,如果Report_SASP想读取Report_CAC中相同的REPORTID的RPTCONTENT,普通的sql比较好写,但是hibernate就要麻烦点,思路如下
ReportSASP类中添加一个属性reportContent,配置文件中 insert="false" update="false"

映射文件可以这样:
    <class name="ReportCAC" table="Report_CAC">
        <id name="reportId" type="string" column="REPORTID" length="26"></id>
        <property name="reportContent" type="clob" column="RPTCONTENT"
            not-null="true" />
  ......
    </class>

    <class name="ReportSASP" table="Report_SASP">
        <id name="reportId" type="string" column="REPORTID" length="26"></id>
        <many-to-one name="reportContent" column="REPORTID" class="WDBOpmetPointCAC" insert="false" update="false"
            not-null="true"/>
        <property name="receiveTime" type="date" column="RECEIVETIME"
            not-null="true" />
        <property name="insertTime" type="date" column="INSERTTIME"
            not-null="true" />
        <property name="tt" type="string" column="TT" length="2"
            not-null="true" />
  ......
    </class>

转载于:https://www.cnblogs.com/yinww/archive/2009/09/16/1567888.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值