package org.easyframe.tutorial.lessona.entity; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import jef.database.DataObject; import jef.database.annotation.PartitionKey; import jef.database.annotation.PartitionTable; import jef.database.routing.function.KeyFunction; import jef.database.routing.function.ModulusFunction; @Entity @PartitionTable(key = { @PartitionKey(field = "createDate",function=KeyFunction.YEAR_MONTH), @PartitionKey(field = "customerNo",functionClass=ModulusFunction.class, functionConstructorParams="3",filler='D',length=2,isDbName=true) }) public class Customer extends DataObject { /** * 客户端编号 */ @Id @GeneratedValue(strategy=GenerationType.AUTO) private int customerNo; /** * 出生日期 */ @Column(columnDefinition="date") private Date DOB; /** * 死亡日期 */ @Column(columnDefinition="date") private Date DOD; /** * 名 */ private String firstName; /** * 姓 */ private String lastName; /** * 电子邮件 */ private String email; /** * 记录创建日期 */ @GeneratedValue(generator="created-sys") private Date createDate; public enum Field implements jef.database.Field { customerNo, DOB, DOD, firstName, lastName, email, createDate } public int getCustomerNo() { return customerNo; } public void setCustomerNo(int customerNo) { this.customerNo = customerNo; } public Date getDOB() { return DOB; } public void setDOB(Date dOB) { DOB = dOB; } public Date getDOD() { return DOD; } public void setDOD(Date dOD) { DOD = dOD; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } }