hibernate无主键映射【转】
第一步:建表(略,无主键)
第二部:进行配置文件以及PO类的编写。
其中的做法就是没有主键,所以把一条记录看成一个主键,即组合主键<composite-id>
。
配置文件如下:
<hibernate-mapping>
??? <class name="com.cqgl.po.SaI18nLimitRulesPO" table="SA_I18N_LIMIT_RULES">
???? <composite-id>
?????????? <key-property name="aircompanyCode" type="java.lang.String">
??????????????? <column name="AIRCOMPANY_CODE" />
?????????? </key-property>
??????????
?????????? <key-property name="aircompanyName" type="java.lang.String">
??????????????? <column name="AIRCOMPANY_NAME" />
??????????? </key-property>
???????????
??????????? <key-property name="canbinClass" type="java.lang.String">
??????????????? <column name="CANBIN_CLASS"? />
??????????? </key-property>
???????????
??????????? <key-property name="discountFrom">
??????????????? <column name="DISCOUNT_FROM" />
??????????? </key-property>
???????????
??????????? <key-property name="discountTo">
??????????????? <column name="DISCOUNT_TO" />
??????????? </key-property>
???????????
??????????? <key-property name="refundTicketsRule" type="java.lang.String">
??????????????? <column name="REFUND_TICKETS_RULE"? />
??????????? </key-property>
???????????
??????????? <key-property name="refundTicketsRuleEn" type="java.lang.String">
??????????????? <column name="REFUND_TICKETS_RULE_EN"? />
??????????? </key-property>
???????????
??????????? <key-property name="changeDateRule" type="java.lang.String">
??????????????? <column name="CHANGE_DATE_RULE" />
??????????? </key-property>
???????????
??????????? <key-property name="changeDateRuleEn" type="java.lang.String">
??????????????? <column name="CHANGE_DATE_RULE_EN"? />
??????????? </key-property>
???????????
??????????? <key-property name="endorsementRule" type="java.lang.String">
??????????????? <column name="ENDORSEMENT_RULE" />
??????????? </key-property>
???????????
??????????? <key-property name="endorsementRuleEn" type="java.lang.String">
??????????????? <column name="ENDORSEMENT_RULE_EN" />
??????????? </key-property>
???????????
??????????? <key-property name="remark" type="java.lang.String">
??????????????? <column name="REMARK"? />
??????????? </key-property>
???????????
??????????? <key-property name="createTime" type="java.util.Date">
??????????????? <column name="CREATE_TIME" />
??????????? </key-property>
???????????
??????????? <key-property name="createUserId" type="java.lang.String">
??????????????? <column name="CREATE_USER_ID"? />
??????????? </key-property>
???????????
??????????? <key-property name="updateTime" type="java.util.Date">
??????????????? <column name="UPDATE_TIME"? />
??????????? </key-property>
???????????
??????????? <key-property name="updateUserId" type="java.lang.String">
??????????????? <column name="UPDATE_USER_ID"? />
??????????? </key-property>
??????? </composite-id>???
??? </class>
</hibernate-mapping>
?
?
第三部:重写实体类中的OBJECT的equals方法和hashCode并且每个实体要实现java.io.Serializable接口
?
JAVA文件如下:
package com.cqgl.po;
?
import java.util.Date;
?
public class SaI18nLimitRulesPO implements java.io.Serializable {
?
??? private String aircompanyCode;
??? private String aircompanyName;
??? private String canbinClass;
??? private String discountFrom;
??? private String discountTo;
??? private String refundTicketsRule;
??? private String refundTicketsRuleEn;
??? private String changeDateRule;
??? private String changeDateRuleEn;
??? private String endorsementRule;
??? private String endorsementRuleEn;
??? private String remark;
??? private Date createTime;
??? private String createUserId;
??? private Date updateTime;
??? private String updateUserId;
?
??? public String getAircompanyCode() {
?????? return this.aircompanyCode;
??? }
?
??? public void setAircompanyCode(String aircompanyCode) {
?????? this.aircompanyCode = aircompanyCode;
??? }
?
??? public String getAircompanyName() {
?????? return this.aircompanyName;
??? }
?
??? public void setAircompanyName(String aircompanyName) {
?????? this.aircompanyName = aircompanyName;
??? }
?
??? public String getCanbinClass() {
?????? return this.canbinClass;
??? }
?
??? public void setCanbinClass(String canbinClass) {
?????? this.canbinClass = canbinClass;
??? }
?
??? public String getDiscountFrom() {
?????? return this.discountFrom;
??? }
?
??? public void setDiscountFrom(String discountFrom) {
?????? this.discountFrom = discountFrom;
??? }
?
??? public String getDiscountTo() {
?????? return this.discountTo;
??? }
?
??? public void setDiscountTo(String discountTo) {
?????? this.discountTo = discountTo;
??? }
?
??? public String getRefundTicketsRule() {
?????? return this.refundTicketsRule;
??? }
?
??? public void setRefundTicketsRule(String refundTicketsRule) {
?????? this.refundTicketsRule = refundTicketsRule;
??? }
?
??? public String getRefundTicketsRuleEn() {
?????? return this.refundTicketsRuleEn;
??? }
?
??? public void setRefundTicketsRuleEn(String refundTicketsRuleEn) {
?????? this.refundTicketsRuleEn = refundTicketsRuleEn;
??? }
?
??? public String getChangeDateRule() {
?????? return this.changeDateRule;
??? }
?
??? public void setChangeDateRule(String changeDateRule) {
?????? this.changeDateRule = changeDateRule;
??? }
?
??? public String getChangeDateRuleEn() {
?????? return this.changeDateRuleEn;
??? }
?
??? public void setChangeDateRuleEn(String changeDateRuleEn) {
?????? this.changeDateRuleEn = changeDateRuleEn;
??? }
?
??? public String getEndorsementRule() {
?????? return this.endorsementRule;
??? }
?
??? public void setEndorsementRule(String endorsementRule) {
?????? this.endorsementRule = endorsementRule;
??? }
?
??? public String getEndorsementRuleEn() {
?????? return this.endorsementRuleEn;
??? }
?
??? public void setEndorsementRuleEn(String endorsementRuleEn) {
?????? this.endorsementRuleEn = endorsementRuleEn;
??? }
?
??? public String getRemark() {
?????? return this.remark;
??? }
?
??? public void setRemark(String remark) {
?????? this.remark = remark;
??? }
?
??? public Date getCreateTime() {
?????? return this.createTime;
??? }
?
??? public void setCreateTime(Date createTime) {
?????? this.createTime = createTime;
??? }
?
??? public String getCreateUserId() {
?????? return this.createUserId;
??? }
?
??? public void setCreateUserId(String createUserId) {
?????? this.createUserId = createUserId;
??? }
?
??? public Date getUpdateTime() {
?????? return this.updateTime;
??? }
?
??? public void setUpdateTime(Date updateTime) {
?????? this.updateTime = updateTime;
??? }
?
??? public String getUpdateUserId() {
?????? return this.updateUserId;
??? }
?
??? public void setUpdateUserId(String updateUserId) {
?????? this.updateUserId = updateUserId;
??? }
?
??? // 注意这种情况下 我们需要重写equals和hashCode
??? public boolean equals(Object object) {
?????? return true;
??? }
?
??? public int hashCode() {
?????? return 1;
??? }
?
}
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoxu775/archive/2010/10/13/5938961.aspx