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>
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>
相关文章推荐
- Hibernate处理无主键的表的映射问题
- 处理Hibernate中Pojo对象String属性不能映射Sqlserver2005 text类型字段问题
- Hibernate中处理无主键表的问题
- Hibernate 映射视图的联合主键的问题
- hibernate整合遗留数据库之处理主键(映射自然键之非复合自然键)
- 关于hibernate查询视图时,相同主键的两条记录映射问题【已解决】
- Hibernate映射度联合主键的问题,关于序列化
- hibernate整合遗留数据库之处理主键(映射自然键之复合自然键)
- 关于hibernate反向生成实体类的问题-没有主键的表映射
- 处理Hibernate中Pojo对象String属性不能映射Sqlserver2005 text类型字段问题 .
- Hibernate的主键如果为两个参数时的问题一对一单向主键映射注解方式(十四)
- 解决使用Hibernate QBC复合查询含有联合主键映射关系实体的问题
- hibernate + oracle 映射主键问题
- Hibernate中处理无主键表的问题
- 关于hibernate查询视图时,相同主键的两条记录映射问题【已解决】
- Hibernate复合主键映射
- 神奇的Hibernate,表没有 主键,对应的映射文件就自动给我生成多了个实体类
- Hibernate一对一主键双向关联映射(xml配置)
- hibernate的一个批处理问题!
- 【Hibernate集锦】---复合主键映射