Java为什么被人诟病,因为一切都是过度设计.Hibernate其实就是实现了一套JPA的ORM,不过用极度冗赘的配置方式,nodejs Sequelize.js,甚至Python SQLAlchemy,都比Java的实现优雅的多.当然这个是历史问题了,就没必要抱怨了. 许多时候,我们不需要用hibernate.cfg.xml,并没有程序化的简单可控. 下面开始实战. 假设使用了Maven系统,首先确认hibernate-core已经作为依赖添加到pom.xml. <dependency> &…
Hibernate配置方式 Hibernate给人的感受是灵活的,要达到同一个目的,我们可以使用几种不同的办法.就拿Hibernate配置来说,常用的有如下三种方式,任选其一. 在 hibernate.cfg.xml 中加入元素 <property>.<mapping>,放置在类路径(classpath)的根目录下. 将 hibernate.properties 放置放在类路径的根目录下. 可编程的配置方式,即在程序中配置Hibernate的启动参数.加载映射文件,需要用Confi…
引导目录: Hibernate 系列教程 目录 前言: 通过上一篇的增删改查小练习之后,咱们大概已经掌握了Hibernate的基本用法. 我们发现,在调用Hibernate API的过程中,虽然Hibernate里面为咱们提供了很多的类,但是常用的类只有很少的那么几个. 下面,一起着重地看一下其中配置相关的类 - Configuration & SessionFactory. 目录: Configuration 类 (负责管理Hibernate的配置信息) SessionFactory 类 (负…
一.配置数据库连接池: 1.使用默认的数据库连接池: Hibernate提供了默认了数据库连接池,它的实现类为DriverManegerConnectionProvider,如果在Hibernate的配置文件中没有明确配置任何连接池,Hibernate就会使用这个默认的连接池. 注意:在开发正式的商业软件产品时,不能使用这个连接池,因为它不是成熟的专业连接池产品,缺乏响应大批量并发请求及荣错的能力. 2.使用配置文件指定的数据库连接池: hibernate.properties配置C3P0连接池…
转自:http://www.blogjava.net/19851985lili/articles/108128.html 由于Hibernate是为了能在各种不同环境下工作而设计的, 因此存在着大量的配置参数. 幸运的是多数配置参数都 有比较直观的默认值, 并有随Hibernate一同分发的配置样例hibernate.properties (位于etc/)来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下做一些自定义的修改. 4.1. 可编程的配置方式 一个…
1.配置 到http://hibernate.org/orm/下载hibernate包然后解压 在eclipse中新建一个java project,如名为hibernate_test 再所建工程中新建一个文件夹libs 将\lib\required下的所有jar包,(另外数据库驱动的jar包,我使用mysql所以导入了mysql-connector-5.1.26-bin.jar,另外还有做测试用的junit包) 复制到libs文件夹下 将所有的jar包选中右键build path->add to…
Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在配置属性时也可使用hibernate.properties文件来部署,hibernate5.0官方文件在目录hibernate-release-5.2.1.Final\project\etc  下.但在实际开发中一般使用hibernate.cfg.xml) hibernate.cfg.xml 中hi…
hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下: 一.加入log4j的日志框架 说明:1.    slf4j-api-1.6.1.jar文件,就是前面指的hibernate3自带日志的API(提供了各种日志的接口). 2.    log4j-1.2.16.jar文件,就…
最近做项目,被一个问题烦恼了很久.使用Spring MVC+Spring +Hibernate开发项目,在使用注解配置事务管理,刚开始发现无论如何数据库都无法更新,但是可以从数据库查询到数据.怀疑是配置文件的问题,但是反复确认,配置文件没有问题.后来将注解配置事务变更为注解配置事务,同样无法入库. 后来在dao层方法里面添加了session.flush()数据可以入库,但是不能回滚.正常的情况下,配置事务成功的话,事务会自动提交,session会自动flush.于是怀疑配置的事务根本就没有起到作…
做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计. 原因是: 1. 1.5倍工作量,浪费时间.(时间对公司来说很重要) 2. 无法保证两边映射一致.因为两边都是自己设计的,那么就需要人为保证映射关…