about JPA persistence

来源:互联网 发布:精雕软件社区 编辑:程序博客网 时间:2024/06/05 02:52

好久没写东西了,随便写点,呵呵,这是关于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;
 }
}

原创粉丝点击