hibernate映射复合主键的一个示例

xiaoxiao2026-03-17  12

MealfeeDetail.hbm.xml <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name="cn.com.dragontec.welfaremanagement.model.MealfeeDetail" table="Mealfee_detail" > <composite-id > <key-property name="personNo" type="java.lang.String"> <column name="person_no" length="32" /> </key-property> <key-property name="workdate" type="java.lang.String"> <column name="work_date" length="8" /> </key-property> </composite-id> </class></hibernate-mapping> MealfeeDetail.java import org.apache.commons.lang.builder.EqualsBuilder;import org.apache.commons.lang.builder.HashCodeBuilder;/** * MealfeeDetail generated by MyEclipse Persistence Tools */public class MealfeeDetail implements java.io.Serializable { private String personNo; private String workdate; // Constructors /** default constructor */ public MealfeeDetail() { } /** full constructor */ public MealfeeDetail(String personNo, String workdate) { this.personNo = personNo; this.workdate = workdate; } public String getPersonNo() { return personNo; } public void setPersonNo(String personNo) { this.personNo = personNo; } public String getWorkdate() { return workdate; } public void setWorkdate(String workdate) { this.workdate = workdate; } // 必须重新定义equals()与hashCode() public boolean equals(Object obj) { if(obj == this) { return true; } if(!(obj instanceof MealfeeDetail)) { return false; } MealfeeDetail mealfeeDetail = (MealfeeDetail) obj; return new EqualsBuilder().append(this.personNo, mealfeeDetail.getPersonNo()) .append(this.workdate, mealfeeDetail.getWorkdate()) .isEquals(); } public int hashCode() { return new HashCodeBuilder().append(this.personNo).append(this.workdate) .toHashCode(); }} 数据库表字段: create table Mealfee_detail( person_no varchar(32), work_date char(8), primary key(person_no, work_date))
转载请注明原文地址: https://www.6miu.com/read-5046037.html

最新回复(0)