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 · 752 阅读 · 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 · 978 阅读 · 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 评论