好久没写东西了,随便写点,呵呵,这是关于JPA的持久化视图联合主键的处理方式,很简单,但却很实用,针对于Hibernate的XML配置文件,以此方式省略掉实在是方便的不能再方便了.
对于数据的持久化方法很多,如ibatis hibernate jpa等等,可谓各具特色,如ibatis的xml写法,我个人认为就很简单,而且易懂,如jpa可以省略xml的方式我就很喜欢,虽然有些复杂的处理方式可能会有些困难,但很多情况下能把所需简化下来就足够了.hibernate这个长久的存在自然有其能够生存的价值,也就不用我再多说什么了,至于JDBC就更不用我说了,虽然用起来不太方便,但是效率在那摆着呢,这是为什么呢,还用再说吗?底层啊.笨!
联合查询实体视图类写法:
1:视图实体如何
package *.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Id;
import javax.persistence.IdClass;
import com.csebank.lom.model.AdvanceDetail;
/**
*
* 预支明细统计实体
*
*/
@SuppressWarnings("serial")
@javax.persistence.Entity //可持久实体
@IdClass(AdvanceDetailVWPK.class) //JPA的主键联合实现类
public class AdvanceDetailVW implements Serializable, Cloneable, AdvanceDetail {
/** ID */
@Id //联合查询的第一个主键
protected String id;
/** 交易日期 */
protected String date;
/** 交易时间 */
protected String time;
/** 交易类型 */
@Id //联合查询的第二个主键
protected String type;
//以下为get set方法,略
}
2:联合的主键设定
package *.entity;
import java.io.Serializable;
import com.deliverik.framework.base.BasePK;
/**
* <p>
* 预支明细统计实体主键
* </p>
*/
@SuppressWarnings("serial")
public class AdvanceDetailVWPK extends BasePK implements Serializable {
/** ID */
protected String id;
/** 交易类型 */
protected String type;
/**
* 构造函数
*/
public AdvanceDetailVWPK(){}
/**
* 构造函数
*/
public AdvanceDetailVWPK(String id, String type) {
this.id = id;
this.type = type;
}
}