您的位置:首页 > 其它

Hibernate处理无主键的表的映射问题

2012-12-07 15:58 357 查看
转载自:http://quanjj.iteye.com/blog/1124052

Hibernate处理无主键的表的映射问题,其实很简单,就是把一条记录看成一个主键,即组合主键<composite-id>。

 

第一步:建表(略,无主键)。

 

第二部:进行配置文件的编写。

 

 

第三部:重写实体类中的OBJECT的equals方法和hashCode并且每个实体要实现java.io.Serializable接口。

OK,下面可以进行相关操作了!   


package com.quanjj.function.test.model;

import java.io.Serializable;

import java.util.Date;

public class TestInfo implements Serializable {

    private static final long serialVersionUID = -2132876417323439533L;

    private String deviceId;

    

    private String token;

    

    private Date createDate;

    

    private Date updateDate;

    public String getDeviceId() {

        return deviceId;

    }

    public void setDeviceId(String deviceId) {

        this.deviceId = deviceId;

    }

    public String getToken() {

        return token;

    }

    public void setToken(String token) {

        this.token = token;

    }

    public Date getCreateDate() {

        return createDate;

    }

    public void setCreateDate(Date createDate) {

        this.createDate = createDate;

    }

    public Date getUpdateDate() {

        return updateDate;

    }

    public void setUpdateDate(Date updateDate) {

        this.updateDate = updateDate;

    }

    // 注意这种情况下 我们需要重写equals和hashCode

    public boolean equals(Object object) {

       return true;

    }

 

    public int hashCode() {

       return 1;

    }

    

}

 

配置文件如下:

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="com.quanjj.function.test.model.TestInfo"

    table="MASS_APP_DEVICE_TOKEN" schema="mass">

        <composite-id>

            <key-property name="deviceId" type="java.lang.String">

                <column name="DEVICEID" />

            </key-property>

            <key-property name="token" type="java.lang.String">

                <column name="TOKEN" />

            </key-property>

            <key-property name="createDate" type="java.util.Date">

                <column name="CDATE" />

            </key-property>

            <key-property name="updateDate" type="java.util.Date">

                <column name="UDATE" />

            </key-property>

        </composite-id>

    </class>

</hibernate-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate3