
java>hibernate
文章平均质量分 94
hibernate
和代码去流浪
这个作者很懒,什么都没留下…
展开
-
Hibernate-validator数据验证
3. @AssertFalse: 检查元素是否为 false,【支持数据类型:boolean、Boolean】4. @AssertTrue: 检查元素是否为 true,【支持数据类型:boolean、Boolean】5. @DecimalMax(value=, inclusive=):【支持数据类型:BigDecimal、BigInteger、CharSequence、(byte、short、int、long 和其封装类)】转载 2023-05-01 23:21:00 · 1624 阅读 · 0 评论 -
Java进阶01:Hibernate教程
1.什么是Hibernate?Hibernate是一个开放源码的ORM(Object Relational Mapping,对象关系映射)框架,它对JDBC进行了轻量级的封装,使得Java开发人员可以使用面向对象的编程思想来操作数据库。2.什么是ORM?ORM:Object Relational Mapping(对象关系映射)。指的是将一个Java中的对象与关系型数据库中的表建立一种映射关系,从而操作对象就可以操作数据库中的表。3.为什么要使用Hibernate?在使用传统的Servlet+JSP转载 2020-06-17 10:59:50 · 195 阅读 · 0 评论 -
Hibernate缓存以及哪些操作会向缓存中读取和存放数据
Hibernate缓存Hibernate有两级缓存,分别是一级缓存和二级缓存。一级缓存也叫Session级缓存,默认情况下就可以用,无需配置。一级缓存生命周期由Session对象决定,Session对象关闭,一级缓存也就消失。二级缓存也叫SessionFactory级缓存,需要配置后才能使用。二级缓存的生命周期比一级缓存的生命周期长,由SessionFactory对象决定,SessionFact...转载 2019-08-13 22:47:28 · 375 阅读 · 0 评论 -
hibernate查询结果映射到实体和map的方法
1.sql查询封装对象,配置映射,把查询出来的数据封装到实体当中:方法一:addEntity(A.class)设定查询出的结果映射到相应的实体中,但是这个实体必须在hibernate的映射文件中配置了相应的映射 //集合中的Object[], Object[0]即使Person,Object[1]即使MyEventpublic List<Object[]> getMyEve...转载 2019-08-06 23:20:17 · 1425 阅读 · 0 评论 -
sql和hql中join语句区别,以及hibernate中内连接,迫切内连接,左外连接,迫切左外连接,右外连接的区别(合集)
第一:sql和hql中join语句区别1,sql中join操作可以用到任何两个表中,其包括inner join,left join,right join,通过on指定连接条件。2,hql是sql的面向对象版,也包括inner join,left join,right join。但其join只能用在有关联关系的对象间,无关联关系的对象不能使用,且由于有关联关系的对象其关联外键已经在配置文件中配置...转载 2019-08-06 23:15:39 · 445 阅读 · 0 评论 -
Hibernate Transformers之三种结果转换说明
在hibernate使用的过程中,我们通常需要对结果进行解释。Hibernate为我们提供了以下3种查询结果解释方法:Transformers.ALIAS_TO_ENTITY_MAP //把输出结果转换成mapTransformers.TO_LIST //把结果按顺序排进ListTransformers.aliasToBean(target) //把结果通过setter方法注入到指定的对像属...转载 2019-08-06 23:12:32 · 858 阅读 · 0 评论 -
Spring data jpa hibernate:查询异常java.sql.SQLException: Column '列名' not found
使用spring boot,jap,hibernate不小心的错误:java.sql.SQLException: Column ‘列名’ not found:这句话的意思是:找不到此列为什么会出现这个问题?原因:我们在执行SQL语句查询的时候为列名起了 别名所导致的数据库字段带下划线:el_empno在@Query中我们这样转载 2019-08-08 23:25:36 · 1288 阅读 · 0 评论 -
hibernate 的createSQLQuery的几种用法
实际开发存在的问题上面的操作具体对于实体的映射,可能是存在的实体映射(数据库总存在的表)。我现在遇到的情况是根据sql查询当前一些字段并且分装到一个非持久化的对象例如String sql=“select SUM(t.PRODUCT_QUALITY)AS countQuality,COUNT(t.PRODUCT_QUALITY) AS countNumbe from mms_assess_de...转载 2019-08-08 23:23:42 · 3286 阅读 · 0 评论 -
MyBatis和Hibernate相比,优势在哪里
看到现在好多Web项目用了MyBatis,没感觉MyBatis好到哪里了,从开发效率上讲,不管是Hibernate的反向工程,还是自动建表,关联映射都比MyBatis方便得多。难道仅仅是因为运行速度,Hibernate也有缓存啊。或者,二者适用场合不同,再或者,MyBatis就是比Hibernate出现晚,晚的就是好么。观点一1、开发对比开发速度Hibernate的真正掌握要比Mybati...转载 2019-08-08 23:14:49 · 227 阅读 · 0 评论 -
spring配置文件中属性mappingLocations、mappingDirectoryLocations
由于spring对hibernate配置文件hibernate.cfg.xml的集成相当好,所以,在项目中我一直使用spring的org.springframework.orm.hibernate.LocalSessionFactoryBean来取代hibernate.cfg.xml文件的功能LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件:mapp...转载 2019-08-01 21:39:38 · 272 阅读 · 0 评论 -
Hibernate session的方法全集
Hibernate session的方法全集 方法摘要 Transaction beginTransaction () 开始一个工作单位,并返回值相关的事务对象。 Session.LockRequest buildLockRequest ( LockOptions lockOptions) 建立一个LockRequest指定LockMode,悲观锁超时...转载 2019-08-01 21:37:53 · 230 阅读 · 0 评论 -
FlushMode属性与transaction(spring注入的事务)
FlushMode属性与transaction(spring注入的事务) 一、参见hibernate的apihttp://tool.oschina.net/apidocs/apidoc?api=hibernate-3.6.10http://tool.oschina.net/apidocs/apidoc?api=hibernate-4.1.4说明:贴出...转载 2019-08-01 21:34:02 · 290 阅读 · 0 评论 -
Hibernate中用hql查询部分字段
hql查询单表部分字段:在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:1.查询全部字段的情况下,如"from 实体类",list中封装的对象为实体类本身,各属性都将得到填充。2.只查询一个字段,默认情况下,list中封装的是Object对象。3.查询两个或两个以上的字段,默认情况下,list中封装的是Obj...转载 2019-08-05 23:20:41 · 947 阅读 · 0 评论 -
Hibernate 知识点总结
HIbernate最佳实践1、使用Configuration装载映射文件时,不要使用绝对路径装载。最好的方式是通过getResourceAsStream()装载映射文件,这样Hibernate会从classpath中寻找已配置的映射文件。2、SessionFactory的创建非常消耗资源,整个应用一般只要一个SessionFactory就够了,只有多个数据库的时候才会使用多个SessionFa...转载 2019-08-13 22:41:50 · 388 阅读 · 0 评论 -
Hibernate缓存体系之查询缓存(query cache),以及list和iterate方法的区别
Hibernate框架提供了Session.load()和Session.get()方法,用来根据实体对象的主键值从数据库中查询对应记录。针对load和get方法,hibernate提供了一级缓存和二级缓存的支持,提高查询效率,具体可以参考我的博客:通过测试用例和执行结果,让你正确推测和理解Session中Load和get的区别,不再困惑。 那么什么是查询缓存呢?hi...转载 2019-08-13 22:45:28 · 440 阅读 · 0 评论 -
Hibernate中单向一对多,单向多对一,双向一对多 inverse="true" casecade="save-update"的理解
Customer类:Java代码publicclassCustomer{ privateintid; privateStringname; privateSetorders=newHashSet(); ••• }即Customer类具有一个set集合属性orders,其中Order是一个普通的类:...转载 2019-08-13 00:03:41 · 158 阅读 · 0 评论 -
Hibernate之inverse和cascade详解
继Hibernate学习笔记整理之后,发现inverse和cascade这两个属性在配置过程中比较含糊,仔细比较一下是有些地方比较像,所以很容易搞糊涂。借助此文来阐述下inverse和cascade的区别。什么是inverse?默认值为false;也就是双方都可以维护关系。如果在一方中显示的设置为false的话那么就意味着本方维护关系。如果设置为true的话表示本方不维护关联关系。只是影响是...转载 2019-08-12 23:56:38 · 156 阅读 · 0 评论 -
在 Hibernate 中inverse的属性
hibernate配置文件中有这么一个属性inverse,它是用来指定关联的控制方的。inverse属性默认是false,若为false,则关联由自己控制,若为true,则关联由对方控制。见例子:一个Parent有多个Child,一个Child只能有一个Parent。package com.xian;public class Child {private Long id;...转载 2019-08-12 23:53:19 · 419 阅读 · 0 评论 -
hibernate查询缓存详细分析
hibernate查询缓存详细分析 更新时间:2017年09月07日 10:40:11 作者:动力节点 我要评论 这篇文章主要介绍了hibernate查询缓存详细分析,包括查询缓存配置方法及关闭二级缓存的...转载 2019-08-11 22:33:43 · 317 阅读 · 0 评论 -
Hibernate复合主键映射
目录:1. 实现方式一:将复合主键对应的属性与实体其他普通属性放在一起2. 实现方式二:将主键属性提取到一个主键类中,实体类只需包含主键类的一个引用 在日常开发中会遇到这样一种情况,数据库中的某张表需要多个字段列才能唯一确定一行记录,这时表需要使用复合主键。面对这样的情况Hibernate为我们提供了两种方式来解决复合主键问题。方式一:将复合主键对应的属性与实体其他普...转载 2019-08-11 22:27:41 · 145 阅读 · 0 评论 -
java综合(六)hibernate.current_session_context_class配置
在前面一节"spring与Hibernate整合-事务"中,总是出现不存在激活事务的问题,结果去掉<prop key="hibernate.current_session_context_class">thread</prop>但是,为什么呢?那是因为在Spring事务管理中,current Session是绑定到SpringSessionContext中的,而不是Th...转载 2019-08-11 22:13:49 · 1211 阅读 · 0 评论 -
Java进阶01:Hibernate教程
一、Hibernate概述 1.什么是Hibernate? Hibernate是一个开放源码的ORM(Object Relational Mapping,对象关系映射)框架,它对JDBC进行了轻量级的封装,使得Java开发人员可以使用面向对象的编程思想来操作数据库。&...转载 2019-08-15 00:10:02 · 181 阅读 · 0 评论 -
深入理解Hibernate表与表之间的关联,搞懂cascade、inverse、lazy等属性,和注解版Hibernate实例
1.搞定Hibernate表与表之间的关联,搞懂cascade、inverse、lazy等属性2个类,书(Book),类别(BookType)public class Book {private Long id;private BookType type;}public class BookType {private Long id;}好了,我们开...转载 2019-08-15 00:07:12 · 568 阅读 · 0 评论 -
JPA ID生成策略
@Table Table用来定义entity主表的name,catalog,schema等属性。属性说明:name:表名 catalog:对应关系数据库中的catalog schema:对应关系数据库中的schema UniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列.UniqueConstraint定义在Table或Secon...转载 2019-08-14 23:52:37 · 430 阅读 · 0 评论 -
Hibernate4之二级缓存配置与使用
缓存:缓存是什么,解决什么问题? 位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为缓存Cache。缓存目的:让数据更接近于应用程序,协调速度不匹配,使访问速度更快。 缓存的范围分为3类: 1.事务范围(单Session即一级缓存) 事务范围的缓存只能被当前事务访问,每个事务都有各自的缓存,缓存内的数据通常采用相互关联的对象形式.缓存的生命周期依赖于事务的生...转载 2019-08-13 22:51:43 · 216 阅读 · 0 评论 -
hibernate查询竟然有6种方法
今天第一次用eclipse的jpa tools 生成实体的时候偶然看到了实体上的一个新备注@nameQuery,就去百度看看有什么用,查着查着...转载 2019-08-05 23:18:55 · 110 阅读 · 0 评论 -
hibernate之Hql ->update语句的用法
虽然hibernate提供了许多方法对数据库进行更新,但是这的确不能满足开发需要。现在讲解一下用hql语句对数据进行更新。不使用参数绑定格式String hql=“update User u set u.userName=123 where u.userId=2”;介绍5种参数绑定,和为什么要使用参数绑定,好处在哪里。一.query.setParameter(属性名,真实值,类型);Str...转载 2019-08-05 23:09:12 · 1098 阅读 · 0 评论 -
Hibernate:组件属性和关联映射的区别
Hibernate中我们经常用到组件属性,以及关联属性(比如N-1关联),但是他们有什么区别?首先我们了解一下基本概念:一:组件属性组件属性的意思是:持久化类的属性并不是基本数据类型,也不是字符串、日期等标量类型的变量,而是一个复合类型的对象,在持久化过程中,它仅仅被当做值类型,而并非引用另一个持久化实体。组件属性的类型可以是任何自定义类,下面我们举个例子:我们有个Person类,有id、n...转载 2019-07-30 23:10:31 · 149 阅读 · 0 评论 -
Hibernate核心类和接口详细介绍
一、hiobernate核心类和接口预览图二、hibernate.properties这个文件是以前老版本使用的 类似于hibernate.cfg.xml文件;作用和hibernate.cfg.xml一致.三、hibernate.cfg.xml (1)详细介绍 ①该文件主要用于指定各个参数,是hibernate核心文件②默认放在src目录下,也可以放在别的目录下。③指定连接数据库的驱...转载 2019-07-30 23:03:28 · 185 阅读 · 0 评论 -
OpenSessionInViewFilter的作用及原理
Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate Session 已经关闭,这些导致延迟加载数据的访问异常(eg: org.hibernat...转载 2019-07-29 23:46:31 · 490 阅读 · 1 评论 -
Hibernate中枚举Enum类型的映射策略
在Java中Enum是一种“奇葩”的存在,“奇葩”不代表没用,对于这种比较特殊的存在,hibernate会有很多种选择来完成Enum类型字段的映射,首先要说明的是在hibernate都是把Enum类型的字段映射成基本类型的字段,并且我这里不使用任何配置文件来配置映射,而是统一使用注解这种方式来完成映射。 注意本文使用的数据库是MySQL5.7,版本和数据库类型可能会有不同的结果。首...转载 2019-08-02 23:58:23 · 634 阅读 · 0 评论 -
Hibernate学习笔记(三) --- 映射枚举类型
对于枚举类型,不能通过org.hibernate.annotations.Type注解来简单的映射对应的数据库字段类型(除非自定义类型)。对此,Hibernate提供了javax.persistence.Enumerated注解,该注解的参数有两种场景: 1.EnumType.STRING:使用该参数时,数据库表中会存储枚举的字符串值; 2.EnumTy...转载 2019-08-02 23:54:57 · 359 阅读 · 0 评论 -
通过注解的方式向DAO中注入Sessionfactory
大部分时候我们都是通过xml配置方式向DAO中注入sessionfactory来实例化bean,有时候要DAO的实例化是通过注解的方式来实现。 对dao注解的话,最大的障碍是如何同时通过注解注入sessionfactory。 dao继承自HibernateDaoSupport ,sessionfactory来自于HibernateDaoSupport 中,我们无法修改HibernateD...转载 2019-08-02 23:52:22 · 249 阅读 · 0 评论 -
com.sun.jdi.InvocationException occurred invoking
调试时候出现com.sun.jdi.InvocationException occurred invoking method原因:因为hibernate的延迟加载引起修改:修改hbm映射文件的对象映射lazy=“false”附上100%完整的系统项目源码:JSP图书馆管理系统:http://blog.sina.com.cn/s/blog_4b5bc0110101a97e.htmlJSP酒...转载 2019-07-29 23:33:01 · 848 阅读 · 0 评论 -
is not mapped 错误改正
我出现的错误是:oorg.hibernate.hql.ast.QuerySyntaxException:DEPT is not mapped [fromDEPT]配置文件如下:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Ma...转载 2019-07-29 23:31:36 · 1044 阅读 · 0 评论 -
Hibernate框架基础——cascade属性
我们以部门和员工的关系为例讲解一对多关联关系映射时,删除部门时,如果部门有关联的员工且inverse属性为false,那么由于可以维护关联关系,它就会先把关联的员工的外键列设为null值,再删除自己。但是此刻希望删除部门时,就附带着把该部门下的所有员工都删掉,这时就需要引入cascade属性了。级联(cascade)当Hibernate持久化一个临时对象时,在默认情况下,它不会自动持久化...转载 2019-07-28 23:29:45 · 198 阅读 · 0 评论 -
hibernate FetchType理解
JPA定义实体之间的关系有如下几种:@OneToOne@ManyToOne@OneToMany@ManyToMany在定义它们的时候可以通过fetch属性指定加载方式,有两个值:FetchType.LAZY:延迟加载FetchType.EAGER:急加载急加载就好理解了,在加载一个实体的时候,其中定义是急加载的的属性(property)和字段(field)会立即从数据库中加载开发...转载 2019-07-28 23:21:56 · 202 阅读 · 0 评论 -
Hibernate(五)基本数据类型
一、Hibernate的基本数据类型3种数据类型之间的对应关系Hibernate映射类型Java类型标准SQL类型integerjava.lang.IntegerINTEGERlongjava.lang.LongBIGINTshortjava.lang.ShortSMALLINTfloat...转载 2019-08-04 15:01:13 · 205 阅读 · 0 评论 -
hibernate enum映射详解
在这里介绍注解的形式,如果想要了解XML配置的方式,可以自行查找相关资料。例如以下Entity@Entity@Table(name = "t_user")public class User implements Serializable { /** * */ private static final long serialVersionUID = -...转载 2019-08-04 15:06:27 · 144 阅读 · 0 评论 -
基于hibernate4的BaseDao接口
接口类import java.io.Serializable;import java.math.BigDecimal;import java.util.List;import java.util.Map; import org.hibernate.criterion.DetachedCriteria; import xxxxx.bean.Page; public interfa...转载 2019-07-28 12:56:25 · 291 阅读 · 0 评论