已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OID生成策略 hibernate使用OID唯一标示一个po对象 数据库使用主键唯一标示一个实体 hbm.xml:id 指定OID(对象标识符) generator 指定生成主键的主要方式 native 根据底层数据库对自动生成标识符的支持能力, 来选择主键生成方式 oracle 自动生成hibernate_sequence的序列 increment Hibernate生成,select max(STUDENTID) 作为主键 适合所有数据库 identity 由底层数据库(支持自动增长)生成,常用于sqlserver mysql sequence 由数据库提供的序列生成,适合Oracle Assigned 通过程序指定 不指定generator时的默认 uuid 使用全球唯一标示生成主键常用配置: mysql: oracle: SEQ_STUDENT JPA使用 GeneratedValue指定ID生成策略:Id Column(name=TEACHERID) GeneratedValue(strategy=GenerationType.AUTO)/oracle 指定序列名称SequenceGenerator(name=seq_teacher,sequenceName=SEQ_TEACHER,allocationSize=1)GeneratedValue(strategy=GenerationType.SEQUENCE,generator=seq_teacher)/mysql:GeneratedValue(strategy=GenerationType.IDENTITY)映射自然主键(不指定自动增长的主键) hbm.xml JPA:GeneratedValue(strategy=GenerationType.AUTO)映射自然复合主键映射文件版本/*=*/* Table: job 映射联合主键例子: 职位表 */*=*/create table job( jobNo number(5) not null, jobName varchar2(20) not null, jobDesc varchar2(50), constraint PK_job primary key(jobNo,jobName) -指定复合主键)Pojo类 /复合主键类/* * 复合主键类要求: * 1.implements java.io.Serializable * 2.重写equals hashCode */public class JobId implements java.io.Serializable private Integer jobNo;private String jobName;/重写equals hashCode/equsls 判断两个对象相等条件为jobNo和jobName都相等Overridepublic boolean equals(Object other) if (this = other) return true;if (other = null) return false;if (!(other instanceof JobId) return false;JobId jobId = (JobId) other; if(!jobNo.equals(jobId.getJobNo() return false; if(!jobName.equals(jobId.getJobName() return false; return true;Overridepublic int hashCode() int result ;result =(jobNo = null ? 0 : jobNo.hashCode();result = 37 * result+ (jobName = null ? 0 : jobName.hashCode();return result;Job类public class Job private JobId id; /联合主键类作为成员private String jobdesc;Job.hbm.xml映射文件 测试例子参见: JobDAOImpl.java JobDAOTest.javaAnnotation联合主键版本1. 使用EmbeddedId注解标示联合主键类成员Entitypublic class Job private static final long serialVersionUID = -4660865172058580473L;private JobId id; /联合主键类作为成员 并且联合主键类的属性可以使用Columnprivate String jobdesc;EmbeddedId public JobId getId() return this.id;2. 类注解为IdClass,并将该实体中所有属于主键的属性都注解为Id.EntityIdClass(JobId.class)public class Job private static final long serialVersionUID = -4660865172058580473L;private String jobdesc;private Integer jobNo;private String jobName;Idpublic Integer getJobNo() return jobNo;Idpublic String getJobName() return jobName;SchemaExport hiberante的生成数据库表(及其他ddl)的工具类可以通过这个工具类完成一些ddlpublic static void main(String args) Configuration config=new Configuration(); config.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床食品车间清洁消毒标准
- 物业项目副经理个人述职报告(范文3篇)
- 2026年病案编码员资格证试题库(含答案)
- 2026年麻精药品培训试题及答案
- 2026地质技能竞赛试题及答案
- 井下电焊、氧焊和喷灯热缩电缆头施工安全技术措施培训
- 2026中国人工智能医疗影像诊断市场增长路径与竞争格局预测报告
- 东滩矿电厂防洪水池淤泥清理工程安全技术措施培训
- 长江深水航道治理护底软体排铺设施工技术
- 塔吊防触电安全技术措施培训
- 2026年昆山经济技术开发区公开招聘社区编外工作人员18人考试备考题库及答案详解
- 抗耐药革兰阴性菌治疗指南2026
- 2026年四川德阳电子科技大学德阳研究院(德阳三星湖传感技术产业研究中心)面向社会公开招聘3人笔试备考试题及答案详解
- 2026CSCO结直肠癌诊疗指南解读课件
- 眼眶爆裂性骨折诊断与治疗
- 巨幼细胞性贫血诊疗指南(2025年版)
- 2026年留疆战士考试题库及答案含解析
- 2026湖南长沙雅礼中学高三高考模拟测试数学试题(含答案解析)
- 2026年曲妥珠单抗行业分析报告及未来发展趋势报告
- 2026年信息处理和存储支持服务行业分析报告及未来发展趋势报告
- 合规考核评价工作方案
评论
0/150
提交评论