<hibernate-configuration>
<!-- 用来描述数据库的链接 -->
<session-factory>
<!-- 驱动 -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- url -->
<property name="connection.url">
jdbc:mysql://localhost:3306/hibernate0909
</property>
<!-- username -->
<property name="connection.username">root</property>
<!-- password -->
<property name="connection.password">123456</property>
<!--
hibernate针对建表的操作
update:如果有表,检查表的结构,如果没有则创建
create人-drop 启动hibernate创建表,结束hibernate删除表
create  每次启动都重新创建表
validate 每次启动都检查表的结构
-->
<property name="hbm2ddl.auto">update</property>
<!-- 在控制台显示sql语句 -->
<property name="show_sql">true</property>
<mapping resource="cn/itcast/hibernate0909/idgenerator/increment/Person.hbm.xml" />
</session-factory>
</hibernate-configuration>

设置主键:

<class name="cn.itcast.hibernate0909.idgenerator.identity.Person" table="person">
<id name="pid" type="java.lang.Long" length="5">
<column name="pid"></column>
<!--
主�产生器-->
<generator class="identity"></generator>
</id>
<property name="pname" type="java.lang.String" length="20"></property>
<property name="psex" type="java.lang.String" length="5"></property>
</class>

主键产生器 class="increment" (主键类型为java.lang.Long  length="5")

Hibernate: select max(pid) from person

Hibernate: insert into person (pname, psex, pid) values (?, ?, ?)

increment

hibernate 内部回去查询该表中的主键的最大值

主键产生器 class="identity"(主键类型为java.lang.Long  length="5"),这时需要手动设置数据库的id为自增长

Hibernate: insert into person (pname, psex) values (?, ?)

因为没有发出select max语句,所以identity得效率比increment要高

缺点:主键不连贯

主键产生器 class="assigned"(主键类型为java.lang.Long  length="5")

在映射文件中,该对象的主键生成机制是assigned,在程序中需要赋值

主键产生器 class="uuid"(主键类型为java.lang.String)javabean中设置id为String

主键的生成机制

*increment

效率比较低的,但是主键的值是连续的

*indentity

根据底层的数据库的自增生成,效率比较高,但是主键的值不连续

*assigned

手动赋值

*uuid

*sequence(oracle)

hibernate配置相关推荐

  1. Hibernate配置详解

     一.简单介绍   Hibernate是一种对JDBC做了轻量级封装的对象---关系映射工具,所谓轻量级封装,是指Hibernate并没有完全封装JDBC,Java应用即可以通过Hibernate ...

  2. Spring MVC+Spring +Hibernate配置事务,但是事务不起作用

    最近做项目,被一个问题烦恼了很久.使用Spring MVC+Spring +Hibernate开发项目,在使用注解配置事务管理,刚开始发现无论如何数据库都无法更新,但是可以从数据库查询到数据.怀疑是配 ...

  3. Spring+Hibernate配置多数据源

    Spring+Hibernate配置多数据源 转载于:https://www.cnblogs.com/zhujiabin/p/4816453.html

  4. Hibernate配置属性详解

    http://www.360doc.com/content/12/0228/19/1369263_190362729.shtml 表 3.3.  Hibernate配置属性 属性名 用途 hibern ...

  5. Hibernate配置数据源,数据库连接池

    来源:http://lihengwei453848.blog.163.com/blog/static/36866173200922262811669/ 连接池概念:      首先,我们还是老套的讲讲 ...

  6. (转)为Spring集成的Hibernate配置二级缓存

    http://blog.csdn.net/yerenyuan_pku/article/details/52896195 前面我们已经集成了Spring4.2.5+Hibernate4.3.11+Str ...

  7. 解决在Spring整合Hibernate配置tx事务管理器出现错误的问题

    解决在Spring整合Hibernate配置tx事务管理器出现错误的问题 参考文章: (1)解决在Spring整合Hibernate配置tx事务管理器出现错误的问题 (2)https://www.cn ...

  8. Could not parse mapping document from input stream hibernate配置异常

    Could not parse mapping document from input stream hibernate配置异常 参考文章: (1)Could not parse mapping do ...

  9. hibernate配置映射的问题

    今日工作内容:用hibernate配置映射关系. 问题: 1.@OneToOne or @ManyToOne on com.wms.model.PosDetail.position reference ...

  10. hibernate 配置@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY) 主导方问题删除问题。

    hibernate 配置@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)  ?? 多对一的关系 ,关系有一个主导方.主导方应该是one的 ...

最新文章

  1. [转] Java中public,private,final,static等概念的解读
  2. 文件夹获取管理员权限脚本
  3. 【随笔】“真OO无双”前辈提供的SEG7_Controller模块的问题改进
  4. java生成pdf工具类,聪明人已经收藏了!
  5. java 自定义注解_Java注解
  6. android 转场动画兼容问题,【Android】关于ARouter转场动画的问题
  7. 腾讯、爱奇艺修改超前点播规则:不再是支付额外50元看6集
  8. Kotlin入门(30)多线程交互
  9. AI艺术的发展:让艺术通过人工智能变得更具创造力和人性化
  10. 2022年信息学奥赛介绍
  11. 百度经纬度转谷歌/高德经纬度
  12. 常用工具类之十一 XML报文加签工具类 http://www.w3.org/2000/09/xmldsig
  13. 算法交易的机遇和挑战
  14. 判断一个数是不是奇数
  15. 项目轮播图功能实现和导航栏的实现
  16. 直接耦合的互补输出级
  17. 【漏洞复现】phpstudy隐藏后门漏洞的验证与利用
  18. 实时摄像头直播方案 RTSP
  19. 如何提高项目估算精准度 关键有3方面
  20. (完整项目源码)GPS定位源码整套管理系统,轨迹播放,车辆管理,电子围栏,报警记录,数据库/人员定位/宠物定位/物流跟踪/资产定位

热门文章

  1. 微服务中远程调用Dubbo与Feign对比
  2. xdebug 远程调试
  3. django中collectstatic的使用(亲测)
  4. 高并发设计方案二(秒杀架构)
  5. PHP OPCode缓存:APC详细介绍
  6. Vue绑定数据v-bind缩写:字段名 双向绑定v-model缩写:model 监听动作v-on缩写@ 记住:与数据相关用冒号 与动作相关用@
  7. Swoole安装make报错 因为php-config配错
  8. c语言随机生成整数存放一维数组_C语言入门教程(十)多维数组
  9. 屏幕自动亮度不停的变_LCD最后的荣耀?卢伟冰:我们的屏幕比iPhone11更优秀
  10. python扫描端口脚本_Pyhton扫描端口脚本代码