Hibernate处理无主键的表的映射问题
2015-11-11 13:57
337 查看
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>
第一步:建表(略,无主键)。
第二部:进行配置文件的编写。
第三部:重写实体类中的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>
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统