其中复合主键为(STAT_DATEPATH_IDTYPE)
针对这种情况hibernate(jpa) annotation 映射声明如下:
1、复合主键类HourDataPK
package net.kong.wolf.stat.db.entity;
import java.io.Serializable;import java.util.Date;
importjavax.persistence.Column;importjavax.persistence.ddable;importjavax.persistence.JoinColumn;importjavax.persistence.ManyToOne;importjavax.persistence.Temporal;importjavax.persistence.TemporalType;
@ddablepublic HourDataPK implements Serializable
/** *//*** */private final long serialVersionUID = 1L;
@ManyToOne@JoinColumn(name = "path_id", nullable =false)privatePath path;
@Column(name ="stat_date")@Temporal(TemporalType.DATE)privateDate statDate;
private type;
public Path getPath path;
public void Path(Path path) this.path = path;
public Date getStatDate statDate;
public void StatDate(Date statDate) this.statDate=statDate;
public getType type;
public void Type( type) this.type = type;
2、实体类HourData: package net.kong.wolf.stat.db.entity;
import java.io.Serializable;
importjavax.persistence.ddedId;importjavax.persistence.Entity;importjavax.persistence.Table;
import net.kong.wolf.stat.core.Text;
@Entity@Table(name = "TB_HOUR_DATA")public HourDataimplements Serializable
/** *//*** */private final long serialVersionUID = 1L;
@ddedIdprivate HourDataPK pk;
private String value;
public String getValue value;
public getHours parseValue(value);
private parseValue(String value) result = [24];for( i = 0; i < 24; i) result[i] = -1; (valuenull) result;String hs = Text.splitCSV(value); len =Math.min(24,hs.length);for ( i = 0; i < len; i) result[i]=Text.parseInt(hs[i], -1); result;
public HourDataPK getPk pk;
public void Pk(HourDataPK pk) this.pk = pk;
最新评论