首页 > 代码库 > Hibernate.Everything data
Hibernate.Everything data
Hibernate.Everything data
Hibernate ORM:关系数据库域模型持久化
Hibernate Search:全文检索域模型
Hibernate Validator:基于域模型注解约束
Hibernate OGM:Nosql数据库域模型持久化
Hibernate Tools: 命令行工具和Hibernate使用IDE插件
Hibernate ORM
对象/关系映射
JPA(Hibernate同时实现了Java Persistence API规范)
惯用持久化(Hibernate可以开发面向对象下持久化类包括继承、多态、关联、组合和java集合框架。
Hibernate不需要接口或持久化类的基类,使任何类或数据结构是持久化)
高性能(延迟初始化、多种抓取策略和基于自动版本控制和时间戳的乐观锁。
Hibernate不需要特殊的数据库表或字段并且生成的SQL在系统初始化时,而不是在运行时)
可伸缩性(Hibernate是为了工作在一个应用程序服务器集群和提供一个高度可扩展的架构)
可靠性
可扩展性(Hibernate是高度可配置的和可扩展的)
Hibernate ORM 入门
System Requirements
java 6 or higher
Dependency Management
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.6.Final</version>
</dependency>
org.hibernate:hibernate-core:4.3.6.Final
在使用面向对象软件和关系数据库的工作是很麻烦和费时,
因在对象和关系数据库中数据的表现之间不匹配而使开发成本显著变高。
Hibernate处理从java类到数据库表,和从java数据类型到SQL数据类型。另外,它提供了数据查询和检索功能。
减少手工数据处理使用SQL和JDBC
Hibernate configuration file
定义jdbc连接信息
connection.driver_class, connection.url, connection.username, connection.password
hibernate内置的连接池不适用于生产环境,它缺少生产环境的一些特性
dialect:指定hibernate使用特定SQL转换。在大多数情况下,Hibernate能够正确确定使用dialect,若应用程序使用多个数据库,这个非常有用
hbm2ddl.auto:支持自动生成数据库模式
为持久化类添加映射文件到配置中
The entity Java class
这个类使用标准的JavaBean属性的getter和setter方法的命名约定,以及私有字段的可见性。尽管推荐这样设计,但不是必需的
无参构造器也是JavaBean规范,是所有需要持久化类必需。hibernate使用反射创建对象。
The mapping file
Hibernate使用映射元数据来确定如何加载和存储持久化类的对象
Hibernate映射文件为Hibernate提供元数据是一个选择
Hibernate.Everything data