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 2586.How far away ?-离线LCA(Tarjan)
2586.How far away ? 这个题以前写过在线LCA(ST)的,HDU2586.How far away ?-在线LCA(ST) 现在贴一个离线Tarjan版的 代码: //A-HDU25 ...
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛
编号 名称 通过率 通过人数 提交人数 A√水题(队友写的 Visiting Peking University 91% 1122 1228 B— Reverse Suffix Array 57% 6 ...
- HDU 2660 Accepted Necklace【数值型DFS】
Accepted Necklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 5695 Gym Class && 百度之星 初赛 1006
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5695 本文链接:http://www.cnblogs.com/Ash-ly/p/5515234.htm ...
- 用户点击行为实时分析系统spark
系统设计技术有:Hadoop2.xZookeeperFlumeHiveHbaseKafkaSpark2.xSpark StreamingStructured StreamingMySQLHueJava ...
- URAL 2062 Ambitious Experiment(分块)
[题目链接] http://acm.timus.ru/problem.aspx?space=1&num=2062 [题目大意] 给出两个操作,操作一给出区间[l,r],对l到r中的每一个下标i ...
- 【线性筛】【筛法求素数】【素数判定】URAL - 2102 - Michael and Cryptography
暴力搞肯定不行,因此我们从小到大枚举素数,用n去试除,每次除尽,如果已经超过20,肯定是no.如果当前枚举到的素数的(20-已经找到的质因子个数)次方>剩下的n,肯定也是no.再加一个关键的优化 ...
- 【动态规划】bzoj1633 [Usaco2007 Feb]The Cow Lexicon 牛的词典
f[i]=min{f[i+1]+1,f[i+len[j]+cant]+cant}(for i=L-1 downto 0)(1<=j<=w) #include<cstdio> # ...
- iOS计算富文本(NSMutableAttributedString)高度
有时候开发中我们为了样式好看, 需要对文本设置富文本属性, 设置完后那么怎样计算其高度呢, 很简单, 方法如下: - (NSInteger)hideLabelLayoutHeight:(NSStrin ...
- gns3 接口说明 转
Dynamips 支持的模块首先从C7200 开始Slot 0:C7200-IO-FE <------> 支持1 个Fastethernet 接口C7200-IO-2FE <---- ...