`
suhuanzheng7784877
  • 浏览: 692094 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47259
社区版块
存档分类
最新评论

JPA学习笔记-EJB-03JPA主键生成策略总结--4

阅读更多

稍微改变一下代码:

id.setName("Ballck");

结果如下:

 

nameno不能同时相同,否则会发生主键重复异常。

小结:

借用冯曼菲小姐的著作总结主键经验如下:

l.SEQUENCEIDENTITY两种策略由于针对的是特殊的一些数据库,所以如果在需求前期,未确定系统要支持的数据库类型时,最好不要使用。因为一旦更改数据库类型时,例如从Oracle变更为MySQL时,此时使用的Sequence策略就不能使用了,这时候需要变更设置,会变得很麻烦。

2.AUTO自动生成策略虽然能够自动生成主键,但主键的生成规则是JPA的实现者来确定的,一旦使用了这种策略,用户没有办法控制,比如说初识值是多少,每次累加值是多少,这些只能靠JPA默认的实现来生成。对于比较简单的主键,对主键生成策略要求少时,采用的这种方式比较好。

3.TABLE生成策略是将主键的值持久化在数据库中表中,因为只要是关系型的数据库,都可以创建一个表,来专门保存生成的值,这样就消除了不同数据库之间的不兼容性。另外,这种策略也可是设置具体的生成策略,又弥补了AUTO策略的不足。所以,这种策略既能保证支持多种数据库,又有一定的灵活性,建议使用该策略。

4.若以上的4种主键生成策略仍不满足需求,这时可以通过一定的规则来设置主键的值。例如利用UUID作为主键,也是常用的策略之一,此时就需要在程序中自动生成,然后设置到实体的主键上,而不能通过JPA的主键生成策略来实现了。

总之,在选择主键生成策略时,要根据需求,选择最合适的策略。

  • 大小: 7.1 KB
分享到:
评论

相关推荐

    JPA学习笔记-EJB-04JPA关联映射总结

    JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射

    JPA学习笔记-EJB-03JPA主键生成策略总结

    总结一下关于JPA的主键生成策略,JPA是用@GeneratedValue标记来注释的。一般的我把主键生成分成两大类。第一个就是简单的单字段主键类型,一个就是复杂的复合主键类型。我们分2种情况分别讨论。 第一种单字段主键...

    JPA学习笔记-EJB-06JPA+Spring使用经验

    JPA学习笔记-EJB-06JPA+Spring使用经验。

    JPA学习笔记-EJB-02JPA属性注解

    上次简单介绍了JPA的基本部署和操作过程,算是认识JPA了,下面我们继续学习JPA吧,我们从JPA的注解标记@Table和@Column开始逐渐介绍。

    JPA学习笔记-EJB-01JPA初体验

    本文是学习 JPA 笔记,可能会根据自己的学习进度逐渐完善。...随着笔者的学习笔记,大家一起学习吧,还是那句话,有什么问题 大家一起探讨。有什么错误希望指证!谢谢。 http://blog.csdn.net/suhuanzheng7784877

    JPA学习笔记-EJB-05JPA实体对象状态和实体对象的高级操作

    虽然持久化实体的状态在ORM中是一个老生常谈的问题,但是说实在的,我们在开发过程中真的不太在意实体的状态。在Web一般情况下也都是交给Spring去管理实体管理器(EntityManager),所以我们还是有必要啰嗦一下,...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    J2EE学习笔记(J2ee初学者必备手册)

    EJB学习笔记..................314 EJB前言................314 EJB2.0.....315 第一章 EJB介绍 .315 JavaEE@xuxiang 5 Java/JavaEE学习笔记Jonny xuxiang5612@sina.com 第二章 First EJB....318 第三章 EJB原理.320...

    Java JDBC由浅入深

    当今orm等全自动针对对象持久化的框架越来越多并且也越来越成熟(ibatis,hibernate,ejb的jpa),但是无奈新东家需要使用jdbc(原始手工作坊)的模式和数据库打交道,用了几年的ibatis,再次使用jdbc发现有些细节和...

    Java JDBC由浅入深.pdf

    当今 orm 等全自动针对对象持久化的框架越来越...分清楚,所以就啰理啰嗦的整理出一份学习笔记,第一作为自己对 jdbc 重新的复习, 第二如果有可能希望给初学 jdbc 的朋友带来一定的便利,这样也不枉我点点滴滴的记 录

Global site tag (gtag.js) - Google Analytics