中国最好的域名注册网站微信小程序第三方开发

diannao/2026/1/22 0:48:19/文章来源:
中国最好的域名注册网站,微信小程序第三方开发,wordpress纯静态插件,wordpress主题dux主题5.3Hibernate中的标识符为实体的主键属性建模。 它有助于我们唯一地标识JPA实体。 每个实体都必须定义一个标识符。 同样#xff0c;它可以是简单的也可以是复合的。 我们可以通过几种方式定义一个Hibernate标识符。 在本教程中#xff0c;我们将学习如何做。 简单#xff08… Hibernate中的标识符为实体的主键属性建模。 它有助于我们唯一地标识JPA实体。 每个实体都必须定义一个标识符。 同样它可以是简单的也可以是复合的。 我们可以通过几种方式定义一个Hibernate标识符。 在本教程中我们将学习如何做。 简单单值标识符 如果我们有一个可以唯一标识我们实体的属性则可以使用Id注释对该属性进行简单注释 Java Entity public class Employee {Idprivate Integer empId;... } 请记住用Id注释的属性应为以下类型之一 任何Java基本类型或任何原始包装器类型 串 任何Java 日期类型或者 BigDecimal或BigInteger 简单生成的标识符 如果我们希望自动生成id值怎么办 为此我们可以更进一步在标识符字段上使用GeneratedValue批注 Java Entity public class Employee {IdGeneratedValuepublic Integer empId;... } 当使用GeneratedValue时 Hibernate在保留实体的同时会为我们的id列生成值。 对我们而言重要的是要记住 我们只能自动生成整数类型 intshort或long 或UUID 。 另外我们有四种不同的密钥生成策略可用于自动生成标识符的值 Hibernate使用AUTO密钥生成策略作为默认策略。 从一个JPA持久性提供者到另一个JPA持久性提供者 AUTO策略的行为略有不同。 对于 Hibernate如果 identifier属性的类型为UUID则它使用UUIDGenerator 否则默认为序列生成策略。 UUID生成仅在Hibernate 5和更高版本中受支持并且长度为36个字符 Java Entity public class Employee {IdGeneratedValueprivate UUID empId;... } 生成的UUID的格式为“ 4ee5a777-7981-4e01-06ab-19aabb2eaa122”。 对于IDENTITY生成策略Hibernate使用IdentityGenerator生成标识符值。 这些值是由数据库的标识列生成的并且会自动递增 Java Entity public class Employee {IdGeneratedValue (strategy GenerationType.IDENTITY)private Integer empId;... } 使用此策略的主要缺点是它不支持批处理JDBC插入。 在这里顾名思义数据库序列用于生成我们的标识符的值。 Hibernate在内部使用SequenceStyleGenerator类来实现它。 如果我们的数据库不支持序列它将自动切换到TABLE密钥生成策略。 SEQUENCE生成器为每个序列生成唯一的值。 我们可以指定我们希望使用的数据库顺序 Java Entity public class Employee {IdGeneratedValue(strategy GenerationType.SEQUENCE,generator emp_generator)SequenceGenerator(name emp_generator,sequenceName emp_seq, allocationSize 100)public Integer empId;... } 否则Hibernate将使用隐式命名的序列hibernate_sequence Java Entity public class Employee {IdGeneratedValue(strategy GenerationType.SEQUENCE)public Integer empId;... } 为我们的标识符字段生成值。 Hibernate TableGenerator使用一个表该表能够保存标识符生成值的多个段。 除非指定否则Hibernate默认使用hibernate_sequences表 Java Entity public class Employee {IdGeneratedValue(strategy GenerationType.TABLE)public Integer empId;... } 我们可以使用TableGenerator来指定用于生成值的数据库表 Java Entitypublic class Employee {IdGeneratedValue(strategy GenerationType.TABLE, generator emp_generator) TableGenerator(name emp_generator,table emp_generator_tbl,schema employees)public Integer empId;...} TABLE策略的伸缩性不是很好并且性能很差因此在实际的实现中很少使用。 对于所有支持序列的数据库我们总是应该优先使用SEQUENCE生成策略而大多数现代数据库通常都会这样做。 复合标识符 Hibernate还允许我们定义一个复合标识符。 要定义组合标识符我们创建一个主键类其中包含构成组合键的持久属性。 根据JPA规范 我们的主键类必须为 用EmbeddedId或IdClass注释进行注释 公开并有一个公开的无参数构造函数 可序列化 实现equals和hashCode方法 组成合成的属性可以是basiccomposite或ManyToOne。 但是集合和OneToOne属性被认为不合适。 1.使用 定义和使用复合键的一种方法是使用EmbeddedId批注。 因此让我们开始定义主键类并使用Embeddable对其进行注释 Java Embeddable public class EmployeePurchasesPK implements Serializable {private long empId;private long productId;//equals() and hashCode() methods... } 现在我们可以使用EmbeddedId批注轻松地从我们的实体中引用此类 Java Entity public class EmployeePurchases {EmbeddedIdprivate EmployeePurchasesPK primaryAttributes;... } 要使用我们的实体类设置或检索主键属性我们将具有以下内容 Java EmployeePurchasesPK primaryAttributes new EmployeePurchasesPK(); primaryAttributes.setEmpId(1001); primaryAttributes.setProductId(7822);EmployeePurchases empPurchases new EmployeePurchases(); empPurchases.setPrimaryAttributes(primaryAttributes); ... 显然我们的EmployeePurchases实体具有一个由empId和productId组成的复合键。 2.使用 使用IdClass创建复合键时我们可以使用Id批注在主类中定义所有合成属性。 我们的主键类中的代码保持原样但仅充当“影子” Java Entity IdClass(EmployeePurchasesPK.class) public class EmployeePurchases {Idprivate long empId;Idprivate long productId;...} 通过这种方法我们可以使用主要实体类的getter / setter方法直接设置键值 Java EmployeePurchases empPurchases new EmployeePurchases(); empPurchases.setEmpId(1011); empPurchases.setProductId(9331); ... 但是此方法无法为我们提供标识符和实体对象之间的清晰区分。 派生标识符 在Hibernate中我们可以选择使用MapsId注释从其关联之一复制实体的标识符值 Java public class EmployeeHistory {Idprivate long id;OneToOneMapsIdprivate Employee employee;...} 在这里我们的EmployeeHistory实例将具有与相应Employee实例完全相同的ID 。 结论 在本教程中我们研究了在Hibernate中定义标识符的多种方法。 我们还介绍了不同的关键自动生成策略。 成为第一个发表评论的人。 翻译自: https://www.javacodegeeks.com/2019/04/identifiers-hibernate.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虹口专业做网站微信支付申请网站建设未完成

文章来源&#xff1a;包子博客MySql 优化的 30 条建议1、应尽量避免在 where 子句中使用!或<>操作符&#xff0c;否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引…

深圳做网站网络营销公司接推广app任务的平台

进程的调度时机与进程的切换操作系统原理中介绍了大量进程调度算法&#xff0c;这些算法从实现的角度看仅仅是从运行队列中选择一个新进程&#xff0c;选择的过程中运用了不同的策略而已。对于理解操作系统的工作机制&#xff0c;反而是进程的调度时机与进程的切换机制更为关键…

信誉好的网站开发东莞seo整站优化火速

最近项目中有一个网络判断的需求&#xff0c;因为终端只能连接wifi&#xff0c;wifi即使连接上也可能会出现不能连接网络的问题&#xff0c;所以需要进行网络连接的判断。ping的相关知识使用ping检验网络是否可以连接ping就是检测客户端是否可以上网。那么我们就上代码该段代码…

微信网站建设定制住房公积金个人提取

1 问题 glide加载图片地址的时候&#xff0c;可能这个地址没有图片&#xff0c;那么我们需要对这种异常情况进行处理&#xff0c;当然我们也需要把这个图片进行圆形化 2 代码解决 Glide.with(mContext).load(iconPath).error(new ColorDrawable()).listener(new RequestListen…

汕头拿家做网站广州软件园软件开发公司

简介 XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用。 源码github地址 源码gitee地址 中文文档地址 中央仓库地址 <!-- http://repo1.maven.org/ma…

网站备案没了自己建一个简单的网站

高校心理教育辅导系统目录 目录 基于Springboot的高校心理教育辅导系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、学生功能模块的实现 &#xff08;1&#xff09;学生登录界面 &#xff08;2&#xff09;留言反馈界面 &#xff08;3&#xff09;试卷列表界…

本省网站建设建议微信营销的优势

转载自http://blog.csdn.net/lu597203933/article/details/14104505 灰度直方图 这次我从最基本的直方图讲起&#xff0c;一维直方图&#xff0c;至于二维等高维直方图&#xff0c;仅作为了解&#xff0c;后面有时间另开blog详解。 1&#xff1a;首先我们给出一幅图 其中的数据…

微信网站开发流程戚墅堰网站建设

多重纹理和纹理组合器 本文主要介绍OpenGL中两种技术的使用方法&#xff1a;多重纹理技术和纹理组合器技术&#xff0c;最终根据参考【2】中的代码&#xff0c;实现了两个简单的演示DEMO&#xff0c;其中使用到了《八叉树颜色量化、BMP、TGA文件解析》篇章中提供的图像解析类。…

找活做的网站wordpress首页白屏

1、什么是视图视图是虚拟的表&#xff0c;是一个存储的查询&#xff0c;虽然不需要实际的物理存储&#xff0c;但是也被看作是一个数据库对象&#xff1b;它与包含数据的表不一样&#xff0c;它不包含任何列或数据&#xff0c;它只是包含使用时动态检索数据的查询&#xff0c;并…

中英文网站建设企业网站未收录

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

织梦系统网站地图模板下载中国最好的外贸公司

1.最大公约数和最小公倍数的组合问题 &#xff08;1&#xff09;在调试的过程中涉及到很大的数据&#xff0c;我们我们在定义变量的时候定义为long long类型 &#xff08;2&#xff09;这个里面我们自定义了max2用来求最大公约数&#xff0c;min2用来求最小公倍数 &#xff0…

网站站做地图软件西安网站工作室

由于大量数据存储在数据库同一张表中&#xff0c;后期性能和扩展会受到影响。所以需要进行表分区&#xff0c;因为它可以将大表分成较小的表&#xff0c;从而减少内存交换问题和表扫描&#xff0c;最终提高性能。庞大的数据集被分成更小的分区&#xff0c;更易于访问和管理。 …

东莞网站设计案例阿里建站价格

目录 AQS简介AQS的设计思路AQS的核心组成部分 状态&#xff08;State&#xff09;同步队列&#xff08;Sync Queue&#xff09;条件队列&#xff08;Condition Queue&#xff09; AQS的内部实现 节点&#xff08;Node&#xff09;锁的获取与释放 独占锁共享锁 条件变量 AQS的应…

谷歌网站推广费用软装设计网站有哪些

void类型修饰符(type specifier)表示“没有值可以获得”。因此&#xff0c;不可以采用这个类型声明变量或常量。void 类型可以用于下面各小节所描述的目的。void用于函数声明没有返回值的函数&#xff0c;其类型为 void。例如&#xff0c;标准库函数 perror() 被声明为以下原型…

关于建设集团公司网站的报告众包网站建设

按显示技术尺寸来分&#xff0c;主要分为大尺寸和小尺寸&#xff08;10寸以下&#xff09;&#xff0c;TFT-LCD行业下游主要是各类型消费电子&#xff0c;包括PC显示器&#xff0c;液晶电视&#xff0c;智能手机等。 TFT&#xff0d;LCD面板产业链 资料来源&#xff1a;共研产…

做公众好号的网站吗黄冈做学生互评的网站

这开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;&#xff08;共1830人左右 1 2 3 4 5&#xf…

做足球推荐网站能赚钱吗1.网站建设基本流程是什么

代码框架 // 在数组nums将下标从left到right中进行从小到大排序// 原理是先将一个元素排好序&#xff0c;然后将其他的元素排好序void sort(int[] nums, int left, int right) {if (left > right) {return;}// 对数组nums[left,right]进行切分&#xff0c;使得nums[left,p-1…

台州企业网站搭建价格网站关键词代码位置

目前的技术存在的问题&#xff1f;   尽管DCOM和IIOP都是固定的协议&#xff0c;业界还没有完全转向其中任何一个协议。没有融合的部分原因是文化的问题所致。而且在当一些组织试图标准化一个或另一个协议的时候&#xff0c;两个协议的技术适用性就被提出质疑。传统上认为DC…

正规网站制作公司哪家好多个wordpress站点互相

在linux服务器环境下&#xff0c;可以使用cat /proc/cpuinfo命令查看当前CPU的核数等信息。 cat /proc/cpuinfo 字段解析 /proc/cpuinfo 是一个特殊的文件&#xff0c;在 Linux 系统中提供有关 CPU 的详细信息。它实际上是一个伪文件系统中的文件&#xff0c;通过它可以获取到…

大观网站建设seo知识分享

在本文中&#xff0c;我们将介绍五种方法&#xff0c;这些方法可以使用有效的编码来帮助垃圾回收器减少分配和释放内存的CPU时间&#xff0c;并减少GC开销。 较长的GC通常会导致我们的代码在回收内存时被停止&#xff08;也称为“停止世界”&#xff09;。 一些背景 GC的建立…