一、Hibernate
1.Hibernate Exception:An AnnotationConfiguration instance is required to use解决
在用JPA的方式声明持久类时:
* 删除.hbm.xml文件
* hibernate.cfg.xml中的持久类映射<mapping resource="XXXX.xml" />变成<mapping class="com.hibernate.guide.po.Event(类包路径)"/>
* HibernateSessionFactory类中的configuration实例由org.hibernate.cfg.Configuration变成org.hibernate.cfg.AnnotationConfiguration,如不换,这会报An AnnotationConfiguration instance is required to use异常
2.Hibernate主键生成策略有主要三种形式:uuid、native、assigned,分别是通用唯一标识、自增、自定义。
(1)、uuid是系统产生的,insert数据库时相比native要快很多,但是uuid是一长串无序字符串,理论上讲查找起来会慢一点,但是不太会影响开发的。而native是数据库生成,在insert时会先计算所以会比uuid慢一点,但是在查找和删除数据时,会比较方便。
(2)、uuid和assigned的生成是在程序中完成的,一个是自动,一个是手动。所以在进行session.save()时,不会产生sql语句,数据库中也不会有数据。而native需要读取数据库数据才能完成自动递增,所以在执行session.save()时,就会产生相应的sql语句,数据库中就会有数据。
uuid介绍:
uuid即通用唯一标识,听这个名字就很霸气,没错。在不知道怎么定义主键时,它是不二的选择。
(a)、生成简单,java中已经有现成的东西(java就是好啊),引入java.util.UUID,例:
UUID uu = UUID.randomUUID();System.out.println(uu);//会打印出什么天知道。
(b)、通用唯一,其实可以加上全球,uuid的生成原理:
当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),
据说uuid用上千年万年才会出现一条重复数据,这意味着在任何时候两个相同数据表的数据放在一起不会出现主键冲突,这在实际开发中会带来很大的好处。
分享到:
相关推荐
SSH整合开发的一个实例,项目中有两张表(学生表与班级表)它们的关系是一对多的关系,项目中的action包是应用的表示层(Struts2)dao包是应用的数据访问层(Hibernate)domain是对应的两个类,由对象来生成关系,...
ssh整合的讲解ssh整合的讲解ssh整合的讲解ssh整合的讲解
轻量级 J2EE 企业应用实战 SSH整合开发.part2 轻量级 J2EE 企业应用实战 SSH整合开发.part2
对于SSH整合的CRUD操作,掌握了这个就可以说掌握了三者的整合开发
人人都玩开心网:Ext+JS+Android+SSH整合开发Web与移动SNS
使用axis2与ssh整合开发webService文档与源码!其中包括客户端访问的lib包与源码demo
NULL 博文链接:https://wuxiangqian.iteye.com/blog/1292591
SSH整合开发中 404错误解决总结 ,适合新手入门时做为出现类似问题的参考
是李刚的轻量级JAVAEE企业应用实战ssh整合开发这本书第二版的最后一章的源代码。
JavaWeb中的Jar包整合,并配置了Struts的配置文件,hibernate的配置文件,Spring的配置文件。(配置文件是空的,但是有配置文件的头)
SSH整合详细步骤&SSH整合详细步骤SSH整合详细步骤&SSH整合详细步骤
ssh整合所需要的jar包,ssh整合所需要的jar包,ssh整合所需要的jar包,
轻量级 J2EE 企业应用实战 SSH整合开发.part1 轻量级 J2EE 企业应用实战 SSH整合开发.part1
java 开发常用jar包,只是基本开发!
ExtJS+Android+SSH整合开发Web与移动SNS
SSH整合案例
SSH 整合开发实例视屏(经典) 初学者专用
SSH整合开发
ssh整合开发之简单用户管理系统,是初学者学习ssh整合开发的一个不错的小项目。。
ssh整合时遇到的问题,里面详细的描述整合时所产生的问题,经过精细挑选,将一些经典实例整合在一起.