JPA联合主键@EmbeddedId使用详解附查询例子


package com.isoftstone.core.domain; import java.io.Serializable;
import javax.persistence.*; /**
* The persistent class for the T_BIC_PRM_COMPUTE database table.
*
*/
@Entity
@NamedQueries( {
@NamedQuery(name = "findPrmComputeById", query = "select d from TBicPrmCompute d where d.id.CBisCode = ?1 and d.id.CBicNo = ?2 and d.id.CProdNo = ?3")
} )
@Table(name="T_BIC_PRM_COMPUTE")
public class TBicPrmCompute implements Serializable {
private static final long serialVersionUID = 1L;
private TBicPrmComputePK id;
private String cBsnsTyp;
private String cCmpnyAgtCde;
private String cSlsCde;
private String cYl1;
private String cYl2;
private Double nMaxInsrntTm;
private Double nMinInsrntTm;
private Double nRate;
private Double nTotalAmt; public TBicPrmCompute() {
} @EmbeddedId
public TBicPrmComputePK getId() {
return this.id;
} public void setId(TBicPrmComputePK id) {
this.id = id;
} @Column(name="C_BSNS_TYP")
public String getCBsnsTyp() {
return this.cBsnsTyp;
} public void setCBsnsTyp(String cBsnsTyp) {
this.cBsnsTyp = cBsnsTyp;
} @Column(name="C_CMPNY_AGT_CDE")
public String getCCmpnyAgtCde() {
return this.cCmpnyAgtCde;
} public void setCCmpnyAgtCde(String cCmpnyAgtCde) {
this.cCmpnyAgtCde = cCmpnyAgtCde;
} @Column(name="C_SLS_CDE")
public String getCSlsCde() {
return this.cSlsCde;
} public void setCSlsCde(String cSlsCde) {
this.cSlsCde = cSlsCde;
} @Column(name="C_YL1")
public String getCYl1() {
return this.cYl1;
} public void setCYl1(String cYl1) {
this.cYl1 = cYl1;
} @Column(name="C_YL2")
public String getCYl2() {
return this.cYl2;
} public void setCYl2(String cYl2) {
this.cYl2 = cYl2;
} @Column(name="N_MAX_INSRNT_TM")
public Double getNMaxInsrntTm() {
return this.nMaxInsrntTm;
} public void setNMaxInsrntTm(Double nMaxInsrntTm) {
this.nMaxInsrntTm = nMaxInsrntTm;
} @Column(name="N_MIN_INSRNT_TM")
public Double getNMinInsrntTm() {
return this.nMinInsrntTm;
} public void setNMinInsrntTm(Double nMinInsrntTm) {
this.nMinInsrntTm = nMinInsrntTm;
} @Column(name="N_RATE")
public Double getNRate() {
return this.nRate;
} public void setNRate(Double nRate) {
this.nRate = nRate;
} @Column(name="N_TOTAL_AMT")
public Double getNTotalAmt() {
return this.nTotalAmt;
} public void setNTotalAmt(Double nTotalAmt) {
this.nTotalAmt = nTotalAmt;
} }
package com.isoftstone.core.domain; import java.io.Serializable;
import javax.persistence.*; /**
* The primary key class for the T_BIC_PRM_COMPUTE database table.
*
*/
@Embeddable
public class TBicPrmComputePK implements Serializable {
//default serial version id, required for serializable classes.
private static final long serialVersionUID = 1L;
private String cProdNo;
private String cBisCode;
private String cBicNo; public TBicPrmComputePK() {
} @Column(name="C_PROD_NO")
public String getCProdNo() {
return this.cProdNo;
}
public void setCProdNo(String cProdNo) {
this.cProdNo = cProdNo;
} @Column(name="C_BIS_CODE")
public String getCBisCode() {
return this.cBisCode;
}
public void setCBisCode(String cBisCode) {
this.cBisCode = cBisCode;
} @Column(name="C_BIC_NO")
public String getCBicNo() {
return this.cBicNo;
}
public void setCBicNo(String cBicNo) {
this.cBicNo = cBicNo;
} public boolean equals(Object other) {
if (this == other) {
return true;
}
if (!(other instanceof TBicPrmComputePK)) {
return false;
}
TBicPrmComputePK castOther = (TBicPrmComputePK)other;
return
this.cProdNo.equals(castOther.cProdNo)
&& this.cBisCode.equals(castOther.cBisCode)
&& this.cBicNo.equals(castOther.cBicNo); } public int hashCode() {
final int prime = 31;
int hash = 17;
hash = hash * prime + this.cProdNo.hashCode();
hash = hash * prime + this.cBisCode.hashCode();
hash = hash * prime + this.cBicNo.hashCode(); return hash;
}
}
@NamedQuery(name = "findPrmComputeById", query = "select d from TBicPrmCompute d where d.id.CBisCode = ?1 and d.id.CBicNo = ?2 and d.id.CProdNo = ?3")
} )
@Override
public TBicPrmCompute findPrmComputeById(String cBisCode, String cBicNo, String cProdNo)
throws DataAccessException {
Query query = createNamedQuery("findPrmComputeById", -1, -1, cBisCode, cBicNo, cProdNo);
return (TBicPrmCompute) query.getSingleResult();
}
public TBicPrmComputePK getId() {
return this.id;
}
JPA联合主键@EmbeddedId使用详解附查询例子的更多相关文章
- JPA联合主键
联合主键也就是说需要多个字段才能确定数据库记录中的唯一一行.这样就需要多个字段一起,组成主键,也叫联合主键.例如飞机航线,我们需要知道飞机起飞的地点以及飞机降落的地点.所以需要飞机起飞的地点和降落的地 ...
- Hibernate入门之主键生成策略详解
前言 上一节我们讲解了Hibernate命名策略,从本节我们开始陆续讲解属性.关系等映射,本节我们来讲讲主键的生成策略. 主键生成策略 JPA规范支持4种不同的主键生成策略(AUTO.IDENTITY ...
- Hibernate主键生成策略详解
转载自:http://blog.csdn.net/wanghuan203/article/details/7562395 hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定 ...
- Java 序列化Serializable详解(附详细例子)
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- JPA学习---第十二节:JPA中的联合主键
1.定义实体类,代码如下: (1).将联合主键放到一个类中,代码如下: package learn.jpa.entity; import java.io.Serializable; import ja ...
- JPA 系列教程13-复合主键-@EmbeddedId+@Embeddable
复合主键 指多个主键联合形成一个主键组合 需求产生 比如航线一般是由出发地及目的地确定,如果要确定唯一的航线就可以用出发地和目的地一起来表示 ddl语句 同复合主键-2个@Id和复合主键-2个@Id+ ...
- JPA注解实现联合主键
当表中一个主键不能唯一标识一条记录的时候,就需要使用联合主键了,下面是使用JPA注解实现联合主键的代码 1 首先需要建立一个复合主键类,用来存放需要生产联合主键的属性,该类需要实现序列化. packa ...
- hibernate 注解 联合主键映射
联合主键用Hibernate注解映射方式主要有三种: 第一.将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将 该类注解 ...
- Hibernate(5)—— 联合主键 、一对一关联关系映射(xml和注解) 和 领域驱动设计
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: One to One 映射关系 一对一单向外键(XML/Annotation) 一对一双向外键关联(XML/A ...
随机推荐
- HDU 1427 速算24点【数值型DFS】
速算24点 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- [BZOJ2527]Meteors
整体二分挺好玩的...学一发 这个询问显然是可以二分的,但每次都二分就会T爆,所以我们有了“整体”二分 每次处理一些询问,要求这些询问的答案一定在$[l,r]$中 先把$l$到$mid$的操作实施,那 ...
- 【分块】bzoj1798 [Ahoi2009]Seq 维护序列seq
分块,打标记,维护两个标记:乘的 和 加的. 每次 区间乘的时候,对 乘标记 和 加标记 都 乘上那个值. 每次 区间加的时候 对 加标记 加上那个值. (ax+b)*v=axv+bv.开 long ...
- 1.5 JSP标准标签库(JSTL)(核心标签 out、set、remove、if、choose、forEach、forTokens、redirect)
JSTL(JavaServer Page Standard Tag Library):JSP标准标签库.它封装了JSP应用的通用核心功能. 1.准备工作 使用JSTL前需要下载所需文件,下载地址及安 ...
- 微服务之SpringCloud实战(二):SpringCloud Eureka服务治理
服务治理 SpringCloud Eureka是SpringCloud Netflix微服务套件的一部分,它基于Netflix Eureka做了二次封装,主要完成微服务的服务治理功能,SpringCl ...
- display:block什么时候使用
所有的块级元素不需要再在使用display:block定义,块级元素本身的默认属性就是block display:block:比较常用于<a><span>这两个标签,因为他们不 ...
- Swift开发经验——外部参数名
一.什么是外部参数名? 浅显地说,外部参数名就是在调用一个方法时要在方法的参数前面加上一个特定的名字,目的是便于阅读代码,提高维护效率. 二.在最新的Xcode中,外部参数名的性质与用法如下 性质 ...
- jquery获取css颜色值返回RGB应用
我来给大家介绍一下在jquery获取css颜色值返回RGB方法,希望此文章对各位同学会有所帮助哦. 代码如下: 代码如下 复制代码 a, a:link, a:visited { color:#4 ...
- HTTP协议下保证登录密码不被获取最健壮方式
原文:http://www.cnblogs.com/intsmaze/p/6009648.html HTTP协议下保证登录密码不被获取最健壮方式 说到在http协议下用户登录如何保证密码安全这个问 ...
- 怎么在VS2010中打开VS2013的项目
其实VS2010与VS2013上的sln文件没有本质的区别.打不开的原因是什么呢?其实原因很简单,两者开头的软件信息不同.因此造成低版本VS的不识别. VS2013版本vs.sln文件开头的软件信息: ...