数据库的安全访问是很重要的事情。如果搭建一个web应用或者application需要访问数据库的话,如果把数据库的用户名和密码直接放在hibernate的配置文件当中,那么用户很容易或者密码。如果限制这个密码文件的访问,可能调试问题会很麻烦。
1。对于web应用,采用JNDI的方法配置数据库参数可以避免代码中含有数据库的连接信息。参见http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
它的数据源tomcat默认使用dbcp connection pool。如果希望自己对数据库的用户名和密码进行加密,可以参照里面的方法写一个org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory的子类,对密码加密后再传递出来,防止密码被直接看到。此外,要把密钥文件做好安全限制。
web应用如果使用spring框架的话,就不需要hibernate的配置文件,这时一般采用dataSource配置,可以自定义dataSource,实现加密的目的。
2。对于application应用,数据库的连接可能使用jdbc或者连接池如dbcp, c3p0, proxypool, 这样的数据源可以通过hibernate的配置文件进行。如果要自己进行扩展加密的话,就需要继承org.hibernate.connection.ConnectionProvider。通过配置:
<property name="connection.provider_class">
cn.MyConnProvider</property>
分享到:
相关推荐
Hibernate 数据源是 Hibernate 框架中连接数据库的关键组件,它是 Hibernate 与底层数据库进行交互的桥梁。在 Hibernate 应用程序中,数据源扮演着存储数据库连接信息的角色,包括数据库URL、用户名、密码等,使得 ...
**Hibernate3 源代码详解** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过提供一种抽象层,Hibernate 允许开发人员使用面向对象的方式来处理数据,而无需直接...
本项目"SpringBoot+Hibernate+MySQL+SQLServer双数据源"正为此目的设计,它利用SpringBoot的灵活性和便利性,结合Hibernate的ORM能力,实现了对MySQL和SQLServer两种主流数据库的支持,为数据迁移、读写分离、高可用...
它详细介绍了如何配置Hibernate环境,创建映射文件,以及如何进行数据的CRUD(创建、读取、更新、删除)操作。通过阅读这份手册,你可以学习到Session接口的使用,它是Hibernate的主要工作单元,负责管理对象的状态...
通过这些源代码,你可以学习到如何配置Hibernate,创建实体类,编写映射文件,以及如何在实际应用中进行数据操作。这个入门案例将帮助你理解Hibernate的工作原理,并为进一步深入学习和实践打下基础。
通过深入研究这个 Hibernate 3.x 的源代码,你可以了解到其内部的工作流程,比如对象状态管理、查询解析、SQL 生成等,这将有助于提升你的编程技巧和解决问题的能力。同时,熟悉 Hibernate 的最佳实践,可以帮助你在...
1. SessionFactory:它是Hibernate的核心组件,负责管理持久化类的所有元数据,如映射文件、实体类等。SessionFactory是线程安全的,一般在应用启动时创建,整个生命周期内保持不变。 2. Session:它是与数据库交互...
通过Spring的管理、Struts的控制和Hibernate的数据持久化,实现了高效且可维护的业务逻辑。同时,MySQL数据库的使用保证了数据的存储和检索。对于学习和理解Java Web开发,特别是Spring、Struts和Hibernate的集成...
- **SessionFactory**: 创建并管理Session,是线程安全的,通常在整个应用程序生命周期中只创建一次。 - **Query/HQL**: 提供SQL的面向对象替代品,支持更强大的查询能力,如函数、子查询等。 - **Criteria API**...
在实际项目中,Hibernate 3.2广泛应用于Web应用、企业级系统、大数据处理等场景,如Spring MVC与Hibernate的整合,利用Maven或Gradle构建工具管理依赖,以及与Spring Data JPA的配合使用。 总之,深入学习Hibernate...
学习Hibernate的源代码能帮助我们深入理解其内部机制,如对象持久化、查询语言(HQL)、缓存管理、事务处理等核心功能。下面我们将逐一探讨这些关键知识点: 1. **对象持久化**:Hibernate通过ORM机制将Java对象...
2. **配置文件**:struts-config.xml用于定义Action映射、数据源以及结果页面等,是系统的核心配置文件。 3. **Action类**:每个Action对应一个具体的业务操作,接收请求并处理业务逻辑,最后返回一个表示视图的...
数据源模块负责管理和提供数据,确保应用程序能够有效地访问和处理所需的信息。以下将详细介绍创建数据源模块的过程及其重要性。 一、数据源的概念 数据源可以被视为一个接口或通道,它连接到存储数据的物理位置,...
6. **事务管理**:Hibernate提供了一套完整的事务处理机制,包括自动提交、显式提交、回滚和保存点等,使得在多线程环境下对数据库的访问更为安全。 7. **缓存机制**:Hibernate内置了第一级缓存(Session级别的...
5. Query与Criteria API:提供查询对象和数据的方法,包括HQL(Hibernate Query Language)和JPQL(Java Persistence Query Language),以及Criteria API,它们都支持动态和静态查询。 6. 第一级缓存和第二级缓存...
Hibernate 是一个著名的开源Java对象关系映射(ORM)框架,它极大地简化了数据库与...通过分析源代码,我们可以学习到如何优雅地处理对象与数据库的映射,如何优化查询,以及如何在大型项目中有效地管理数据访问层。
通过阅读和分析Hibernate的源代码,开发者能够深入理解其内部机制,包括持久化策略、查询语言(HQL)、缓存管理以及事务处理等核心功能。 一、Hibernate ORM框架介绍 Hibernate 提供了一个强大的接口,用于在Java...
2. **配置文件**:Hibernate 使用 XML 配置文件(hibernate.cfg.xml)来定义数据源、连接池、实体类等信息,方便开发者快速配置和管理数据库连接。 3. **元数据**:Hibernate 通过注解或 XML 文件来定义对象和表...
本系统采用Hibernate框架进行开发,旨在提供一个高效、易用的后台管理系统,帮助用户方便快捷地存储、检索和管理通讯录数据。 Hibernate是一款强大的Java持久层框架,它简化了数据库操作,通过对象关系映射(ORM)...
【标题】"基于Struts2+Hibernate4实现报道管理系统"是一个使用Java技术栈构建的Web应用,它结合了Struts2框架、Hibernate4 ORM工具以及SQL Server数据库来管理和处理新闻报道相关的数据。这个系统旨在提供一个高效、...