随笔分类 - Java(Hibernate)
摘要:利用hibernate访问不同数据库中的不同表或不同数据库中的相同表。 本人在开发过程中的解决方案,希望大家交流。一般用myEclipse工具会自动生成Hibernate的相关文件,大致有下面几类: (1)数据库配置文件:.cfg.xml(2)映射文件.hbm.xml(3)映射类:pojo(4)会话
阅读全文
摘要:不完整的SQL hibernate 显示的SQL语句不完整,调试程序非常不方便,我们需要改在完整显示的方式。 1.需要加入一个p6spy.jar包、spy.properties 配置文件。 spy.properties 2.修改 hibernate.cfg.xml 文件、 把com.mysql.jd
阅读全文
摘要:本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有一
阅读全文
摘要:由于种种原因,有的时候可能要连接别人的数据库,或者不同的数据库没法自动转换,重构起来数据量又太大了,我们不得不在一个项目中连接多个数据源。从网上找了各种资料,只有这位大神给出的解决方案一下子就成功了。http://www.cnblogs.com/hoojo/p/dynamic_switch_sess
阅读全文
摘要:hibernate.cfg.xml
阅读全文
摘要:批量处理不建议用Hibernate,它的insert效率实在不搞,不过最新版本的Hibernate似乎已经在批量处理的时候做过优化了,设置一些参数如batch_size,不过性能我没有测试过,听说是这样。我记得以前在做大批量数据转移的时候我们测试过Hibernate,很慢,直接Pass,当时我们的系...
阅读全文
摘要:一、开篇这里整合分别采用了Hibernate和MyBatis两大持久层框架,Hibernate主要完成增删改功能和一些单一的对象查询功能,MyBatis主要负责查询功能。所以在出来数据库方言的时候基本上没有什么问题,但唯一可能出现问题的就是在hibernate做添加操作生成主键策略的时候。因为我们都...
阅读全文
摘要:hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库。hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernat...
阅读全文
摘要:在Hibernate中,各表的映射文件….hbm.xml可以通过工具生成,例如在使用MyEclipse开发时,它提供了自动生成映射文件的工具。本节简单的讲述一下这些配置文件的配置。 配置文件的基本结构如下: …… 1. 主键(id) Hibernate的主键生成策略有如下几种:1) a...
阅读全文
摘要:大家都知道hibernate中的one-to-one映射主要有两种策略,(1)一对一主键关联(单向和双向)。(2)一对一外键映射(单项和双向)。本文主要讲解一下,一对一外键映射中的双向问题,在此前先通过一个实例了解。 person和idCard,是一种一对一的关系,其中 t_person表idn...
阅读全文
摘要:首先是要加入下面两个包hibernate-validator-4.1.0.Final.jarvalidation-api-1.0.0.GA.jar如果在验证不通过的时候进行了添加、更新或删除操作的时候,则会抛出javax.validation.ConstraintViolationException...
阅读全文
摘要:Criteria的完整用法QBE (Query By Example)Criteria cri = session.createCriteria(Student.class);cri.add(Example.create(s)); //s是一个Student对象list cri.list();实质:...
阅读全文
摘要:Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。第15章HQL: Hibernate查询语言Hibernate配备了一种非常强大的查询语言,这种语言...
阅读全文
摘要:一、addEntity()和setResultTransformer()方法1.使用SQLQuery对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式:List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list();这个查询指定了:SQL查询字符串查询返回的实体这里,结果集字段名被假设为与映射文件中指明的字段名相同。对于连接了多个表的查询,这就可能造
阅读全文