Hibernate
ldh_lyf
这个作者很懒,什么都没留下…
展开
-
hibernate主键生成策略
hibernate主键分为:自然主键和代理主键 (1)自然主键:表主键字段和业务相关的 * 人的身份证号码唯一的 (2)代理主键(一般使用):表主键字段和业务不相关的* uid值 Hibernate主键生成策略 1、自动增长identity 适用于MySQL、DB2、MS SQL Server,采用数据库生成的主键,用于为long、short、int类型生成唯一标识 使用原创 2017-09-18 19:24:23 · 354 阅读 · 0 评论 -
hibernate实体类状态之间转换
1 实体类(持久化类)状态有三种 (1)区别标准: * 判断实体类对象里面是否有id值 * 判断实体类对象是否与session对象有关联 2 具体实体类状态有哪些? 第一种 瞬时态 (1)实体类对象里面 没有 id值,和session 没有 关联 第二种 持久态 (1)实体类对象里面 有 id值,和session 有 关联 第三种 托管态 (1)实体类对象里面 有 id值,原创 2017-09-18 19:33:33 · 753 阅读 · 0 评论 -
spring整合hibernate(不带hibernate配置文件)
spring配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http...原创 2017-09-23 10:55:46 · 1302 阅读 · 0 评论 -
spring和hibernate整合
hibernate配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hiberna...原创 2017-09-23 10:50:14 · 262 阅读 · 0 评论 -
Hibernate延迟加载和session绑定,获取和事务
Hibernate延迟加载: 在session关闭之前先获取需要查询的数据,可以使用工具方法Hibernate.isInitialized()判断对象是否被加载,如果没有被加载则可以使用Hibernate.initialize()方法加载对象。 使用拦截器或过滤器延长Session的生命周期直到视图获得数据。Spring整合Hibernate提供的OpenSessionInViewFilter...原创 2017-09-23 11:28:49 · 1079 阅读 · 0 评论 -
dao注入hibernate模板
1 注入关系 (1)action里面注入service (2)service注入dao (3)dao注入hibernateTemplate (4)hibernateTemplate注入sessionFactory 配置action --> beanid="userAction"class="cn.action.UserAction"scope="prototype"原创 2017-09-23 11:04:17 · 575 阅读 · 0 评论 -
spring和hibernate注解整合
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.spri...原创 2017-09-23 10:59:14 · 368 阅读 · 0 评论 -
Hibernate-Validation的使用和常用的注解
@AssertTrue //用于boolean字段,该字段只能为true @AssertFalse//该字段的值只能为false @CreditCardNumber//对信用卡号进行一个大致的验证 @DecimalMax//只能小于或等于该值 @DecimalMin//只能大于或等于该值 @Digits(integer=2,fra...原创 2018-09-23 13:17:44 · 979 阅读 · 0 评论 -
hibernate一对多和级联操作配置
一方: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"&g...原创 2017-09-18 19:50:58 · 392 阅读 · 0 评论 -
Hibernate实体类编写规则
1 实体类(称为 持久化类) (1)有类和数据库表进行对应关系,不需要直接操作数据库表,操作实体类对象就可以了,这个类称为实体类 2 实体类编写规则 (1)实体类属性私有的 (2)私有属性有公开的get和set方法 (3)有公开无参构造方法 (4)要求实体类里面有一个属性和表里面主键对应 (5)建议:不要使用final修饰 (6)建议:要使用基本数据类型对应包装类 3 为什么使用包装类 (1)使用...原创 2017-09-18 19:22:29 · 1140 阅读 · 0 评论 -
Hibernate入门
1.核心配置文件位置放置src目录下,名称为hibernate.cxf.xml(位置和名称固定) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "...原创 2017-09-18 19:12:12 · 2796 阅读 · 1 评论 -
mybatis和hibernate
Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句。mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和sql语句映射生成最终执行的sql,最后将sql执行的结果再映射生成java对象。 Mybatis学习门槛低,简单易学,程序员直接编写原生态sql,可严格控制sql执行性能,灵活度高,非常适合对原创 2017-09-12 20:09:00 · 278 阅读 · 0 评论 -
Hibernate检索策略
1 在hibernate里面对查询操作做一些优化,检索(查询,抓取)策略是一种优化方式 2 hibernate检索策略分为两类 (1)立即查询 调用session里面的方法做查询,马上发送sql语句查询数据库,返回结果 (2)延迟查询 之前根据id查询,调用session里面get方法实现,还有一个方法也可以实现根据id查询,这个方法是 load方法,但是load方法是延迟查询的方法 (1)类级别...原创 2017-09-18 20:42:05 · 290 阅读 · 0 评论 -
Hibernate查询
OID查询: //使用对象时发送语句查询数据库 Customer customer = session.load(Customer.class, 1); //马上发送语句查询数据库 Customer customer = session.get(Customer.class, 1); 对象导航查询: //1 根据id查询联系人 LinkMan linkman = session.get(...原创 2017-09-18 20:30:30 · 409 阅读 · 0 评论 -
Hibernate多对多配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> &l...原创 2017-09-18 19:52:54 · 339 阅读 · 0 评论 -
Hibernate缓存
Hibernate默认开启一级缓存,一级缓存级别是session 一级缓存特点: (1)一级缓存使用范围session对象范围,session创建,分配区域作为一级缓存,同时为每个一级缓存作为快照区 (2)调用get方法时候,首先到一级缓存中找是否有相同数据,如果没有查询数据库,把查询出来持久态对象,放到一级缓存中 (3)修改持久态对象里面值,同时修改一级缓存中对应数据值,但是只会修改一级...原创 2019-06-06 21:12:19 · 584 阅读 · 0 评论