Hibernate
文章平均质量分 88
凌冰_
分享知识带给我的快乐!帮助他人就是帮助自己。
希望更多人能关注,来分享我的成果!
希望大家快快乐乐的学习,开开心心的畅游知识的海洋。
展开
-
Hibernate--- list和iterator方法的区别
1)用HQL语句,使用Query对象来获取list()方法@Test public void list1() { // 1.获得会话对象 Session session = HibernateUtil.currentSession(); // 2.查询的时候事务可以写可以不写 String hql = "from Emp"; // 3.获得Query对象 Qu原创 2016-03-03 15:49:19 · 460 阅读 · 0 评论 -
hibernate 注解使用日期@Temporal(TemporalType.DATE)
private Date born; //是java.util.Date 类型!@Temporal(TemporalType.DATE) 是java.util.Date 类型!1.日期:@Temporal(TemporalType.DATE) @Column(name = "bornDate", nullable = false, length = 1原创 2016-10-28 11:29:09 · 570 阅读 · 1 评论 -
MyEclipse10.7中使用Hibernate异常org.hibernate.InvalidMappingException
发生异常:org.hibernate.InvalidMappingException: Unable to read XML Caused by: org.dom4j.DocumentException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd%20 Nested exception: http://hibe原创 2016-10-19 16:06:21 · 335 阅读 · 0 评论 -
hibernate 如何使用oracle 数据库 默认值(sysdate)
在指定的实体类中指定两个属性:注意: dynamic-insert="true" 是生成数据时 的时间dynamic-update="true" 是修改数据时的 时间原创 2016-11-11 12:03:49 · 1310 阅读 · 0 评论 -
hibernate annotation主键生成策略
hibernate annotation 之 主键生成策略Hibernate 默认总共支持 13 种生成策略 : 1. increment 2. identity 3. sequence4. hilo 5. seqhilo 6. uuid7. uuid.hex 8.转载 2016-10-31 16:23:13 · 219 阅读 · 0 评论 -
Hibernate 发生异常:java.sql.SQLException: ORA-00928: 缺失 SELECT 关键字
在向表格中添加记录时,发生异常:ORA-00928: 缺失 SELECT 关键字错误提示:ERROR: HHH000388: Unsuccessful: create table tt (id number(10,0) not null, date timestamp, name varchar2(255 char), primary key (id))2016-10-31 1原创 2016-10-31 16:58:27 · 6322 阅读 · 0 评论 -
Hibernate 运行时发生Write operations are not allowed in read-only mode错误
配置 Structs spring 和hibernate整合的问题:开启OpenSessionInViewFilter来阻止延迟加载的错误的时候抛出了这个异常: org.springframework.dao.InvalidDataAccessApiUsageException错误但是在我们开启OpenSessionInViewFilter这个过滤器的时候FlushM转载 2016-11-30 14:43:07 · 351 阅读 · 0 评论 -
Hibernate4 HQL查询占位符的问题
在新的Hibernate 4版本中,对于Hql有一点点改变,如果你还是按照以前的方式去编写HQL并且用了以下占位符的方式,就会得到一个警告。参考资料:https://hibernate.atlassian.net/browse/HHH-8012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanelQuer转载 2016-11-22 16:08:42 · 705 阅读 · 0 评论 -
Hibernate 三种检索策略
1)立即检索优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便的从一个对象导航到与它关联的对象;缺点: (1)select语句太多; (2)可能会加载应用程序不需要访问的对象白白浪费许多内存空间;说明: 需要频繁的访问数据库,会影响检索性能。如果需要查询n个Emp对象,那么必须执行n+1次select查询语句;原创 2016-12-01 11:04:52 · 546 阅读 · 0 评论 -
Hibernate 命名查询、本地SQL、自定义SQL
命名查询使用HQL查询时,HQL代码分布在程序代码内,不利于维护,使用命名查询可以解决此问题。使用命名查询步骤1).修改相应的映射文件,添加如下代码hibernate-mapping> query name="testNamedQuery"> <![CDATA[ from Emp where empno >:empno转载 2016-12-03 11:15:58 · 520 阅读 · 0 评论 -
hibernate 解决the type java.lang.AutoCloseable can not be resolver
当你在MyEclipse引用不同版本JDK工程时会发生该问题。由于你开发环境中应用了多个版本的JDK 或JRE导致的。MyEclipse会按照最初的开发环境默认选择对应的Jre。如MyEclipse上有jdk1.6开发的环境工程,当你在引入高版本jdk1.8开发的工程时,以上问题就出现了。the type java.lang.AutoCloseable can not be resolver,原创 2017-07-17 12:00:28 · 792 阅读 · 0 评论 -
Hibernate 零配置Annotation注解
JPA规范推荐使用Annotation来管理实体类与数据表之间的映射关系,从而避免同时维护两份文件(Java 实体类 和 XML 映射文件),将映射信息(写在Annotation中)与实体类集中在一起。 主要将替换复杂的hbm.xml文件简化Hibernate程序开发 注解配置实体类 package com.hlx.annotation;import java.原创 2017-08-11 11:39:37 · 338 阅读 · 0 评论 -
hibernate 一级缓存二级缓存及查询缓存
一级缓存1. 一级缓存只缓存整个对象,不能缓存对象属性;2. 一级缓存是Session级的缓存,不能跨多个Session对象来使用;3. Session的load/get方法支持一级缓存的读和写;4. Query的list接口只支持一级缓存的写入,不能从一级缓存中读出对象。list接口加载对象要发出SQ原创 2016-10-27 16:42:28 · 449 阅读 · 0 评论 -
Hibernate 查询HQL,QBC 及命名HQL,SQL查询
1导航对象图检索方式 根据己经加载的对象,导航到其他对象。 如: Dept dept= session.get(Dept.class ,10 ); // 持久Dept //由于dept关联了emps集合,hibernate就会自动生成SQL语句去检索 Emp的数据 cust原创 2016-10-26 17:13:50 · 358 阅读 · 0 评论 -
Hibernate 检索方式
HQL 面向对象查询语句,语法和SQL类似, 可以实现SQL语句大部分功能 ! HQL查询必须通过 Query接口,并且可以使用链式编程风格 例:Query query = session.createQuery("from Customer where name =?"); query.setParamet转载 2016-10-26 17:17:13 · 294 阅读 · 0 评论 -
hibernate HQL查询几种参数绑定
在Hibernate中存在4种参数绑定的方式,下面我们将分别介绍: A、 按参数名称绑定: 在HQL语句中定义命名参数要用”:”开头,形式如下: Query query=session.createQuery("from Emp where ename=:names and job=:jobs"); query.setString(“names”,name);原创 2016-03-03 16:16:38 · 545 阅读 · 0 评论 -
Hibernate--使用setProperties()方法动态生成
在Hibernate中可以使用setProperties()方法,将命名参数与一个对象的属性值绑定在一起! 查询工资>1000,职位是CLERK,雇佣日期从1980-10-1 到1981-10-1? --sql语句如下: select * from emp where sal>1000 and job='CLERK' and hiredate>to_原创 2016-03-03 16:03:46 · 2750 阅读 · 2 评论 -
Hibernate Criteria查询
在使用Hibernate时,即使我们不了解SQL的使用与撰写,也可以使用它所提供的API来进行SQL语句查询 org.hibernate.Criteria对SQL进行封装,我们可以根据具体情况组合各种查询条件,并由Hibernate自动为您产生SQL语句,而不用特别管理SQL与资料库相依的问题。 Criteria查询采用面向对象方式封装查询条件,又称为对象查询 Cri原创 2016-03-08 17:31:53 · 303 阅读 · 0 评论 -
Hibernat org.hibernate.MappingException: Could not determine type for: java.util.Set
注解配置对象关联关系映射时候出现异常:org.hibernate.MappingException: Could not determine type for: java.util.Set? 解决 1)检出双向关联的注释是否正确 2)检查@注释的位置:要么都在属性名上,要么都在 getter方法上!!原创 2016-03-14 16:36:20 · 436 阅读 · 0 评论 -
Hibernate 注解配置实体类
一、注解配置实体类 (1)写具体的实体类import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persist原创 2016-03-15 15:57:18 · 426 阅读 · 0 评论 -
Hibernate+JSP+Servlet应用(OpenSessionInView模式)
原创 2016-03-15 16:46:24 · 467 阅读 · 0 评论 -
Hibernate load与get的区别
延迟加载: load是true;而get是false; load采用的是延迟加载的方式 而get不是,也就是说get()采用立即加载方式,而load()采用延迟加载;,hibernate思想是 这个方法支持延迟加载 他就认为这个对象一定在数据库存在.(1)load方法的加载过程: 例如:Student stu =转载 2016-10-21 11:40:19 · 253 阅读 · 0 评论 -
Hibernate 关系映射 many-to-many
1 创建数据表drop table studentm;create table studentm( sid number(5) primary key, sname varchar2(20) not null)drop table teacherm;create table teacherm( tid number(5) primary key, tname var原创 2016-10-24 11:23:46 · 237 阅读 · 0 评论 -
hibernate Query中的list和iterator方法区别
1.通过Session得到Query的对象,并用list集合输出 /** * list: 1条查询语句 */ @Test public void list1() { // 1)获得会话 Session session = HibernateUtil.currentSession(); // hql语句 Dept实体类 String hql = "from Dep原创 2016-10-24 11:47:30 · 417 阅读 · 0 评论 -
数据库中实体的对应关系
一、 多表设计中的三种实体关系:(1)一对多(1:n): 一个部门可以对应多个员工,一个员工只能属于一个部门! 一个客户可以对应多个订单,一个订单只能属于一个客户!* 一对多关系建表原则: 需要在多的一方添加一个字段,作为外键指向一的一方主键! (2)多对多(m:n):一个学生可以选原创 2016-09-28 11:17:05 · 4150 阅读 · 0 评论 -
Hibernate 关联映射one-to-one
一对一关联有两种实现方式:(1)共享的主键关联,(2)一对一的外键关联1、共享的主键关联:让两个对象具有共同的主键值,以表明他们之间的一一对应关系。Person.java类public class Person implements java.io.Serializable { // Fields private In原创 2016-10-26 15:56:36 · 288 阅读 · 0 评论 -
Hibernate java.lang.StackOverflowError异常解决
在hibernate一对多映射中,两个实体都重写了toString()方法,应用程序递归太深了,所以发生了堆栈溢出。StackOverflowError是由于当前线程的栈满了 ,也就是函数调用层级过多导致。java.lang.StackOverflowError at java.util.HashMap$HashIterator.(HashMap.java:778原创 2017-08-18 15:52:33 · 3069 阅读 · 0 评论