使用java annotation 的机制来替代部分 pojo.hbm.xml中的配置
通过:
applicationContext.xml中的
<bean id="sessionFactory"
class="
org.springframework.orm.hibernate3.annotation.
AnnotationSessionFactoryBean">
</bean>
使用hibernate.cfg.xml文件
applicationContext.xml中的
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.
AnnotationSessionFactoryBean">
<!—- 注意路径 -->
<property name="configLocation"
value="/WEB-INF/classes/hibernate.cfg.xml"/>
</bean>
hibernate.cfg.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!— 数据库的url -->
<property name="hibernate.connection.url">
jdbc:mysql://localhost/training
</property>
<!— 数据库的驱动 -->
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!— 数据库的登陆用户名 -->
<property name="hibernate.connection.username">root</property>
<!— 数据库的登陆密码 -->
<property name="hibernate.connection.password"></property>
<!— 数据库的方言(特性) -->
<property name="dialect">
org.hibernate.dialect.MySQLInnoDBDialect
</property>
<!— 是否在控制台显示SQL语句-->
<property name="show_sql">true</property>
<!— 声明Pojo.hbm.xml文件 -->
<mapping resource="com/syy/model/pojo/User.hbm.xml"/>
<mapping resource="com/syy/model/pojo/Teacher.hbm.xml"/>
<mapping class="com.syy.model.pojo.Teacher"/>
</session-factory>
</hibernate-configuration>
不使用hibernate.cfg.xml 文件
applicationContext.xml中的
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!— 数据库的驱动 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<!— 数据库的URL -->
<!— 红色代表出来中文乱码问题 -->
<property name="url" value="jdbc:mysql://localhost/training
?useUnicode=true&characterEncoding=GBK"/>
<!— 数据库登陆的用户名-->
<property name="username" value="root"/>
<!— 数据库登陆的密码 -->
<property name="password" value=""/>
<!— 最大活动数maxActive -->
<property name="maxActive" value="100"/>
<!— 等待的最长时间maxActive -->
<property name="maxWait" value="1000"/>
<!— 建立preparedStatement的池 poolPreparedStatements -->
<property name="poolPreparedStatements" value="true"/>
<!—默认自动提交 poolPreparedStatements -->
<property name="defaultAutoCommit" value="true"/>
</bean>
<!—与hibernate.cfg.xml文件中的sessionFactory标签作用一致-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<!-- property name="configLocation" value="/WEB-INF/hibernate.cfg.xml"/-->
<property name="dataSource" ref="dataSource"/>
<!— 与hibernate.cfg.xml文件中的mapping标签作用一致 -->
<property name="annotatedClasses">
<list>
<value>com.syy.model.pojo.User</value>
</list>
</property>
<property name="hibernateProperties">
<!-- org.hibernate.dialect.OracleDialect org.hibernate.dialect.MySQL5InnoDBDialect -->
<value>
//
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
/*
你可以使用hibernate.query.substitutions在Hibernate中定义新 的查询符号. 例如:
hibernate.query.substitutions true=1, false=0
将导致符号true和false在生成的SQL中被翻译成整数常量.
*/
hibernate.query.substitutions=true 'Y', false 'N'
//hibernate.cache.use_query缓存query
hibernate.cache.use_query=true
//hibernate.cache.use_second_level_cach使用二级缓存
hibernate.cache.use_second_level_cache=true
//hibernate.cache.provider_class缓存的提供类 hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.show_sql=true
</value>
<!—如果使用的是 PostgreSQL 数据库加上以下信息异常将更好的展示-->
<!-- hibernate.jdbc.batch_size=0 -->
</property>
</bean>
分享到:
相关推荐
《深入解析Java注解及其应用》 在Java编程领域,注解...在学习和使用javax.annotation-3.1.2.2-sources.jar的过程中,我们可以深入研究源码,进一步挖掘其内在机制,为我们的编程实践带来更多的启示和帮助。
Hibernate 3中的注解机制使得开发者能够更直观地在Java类中描述数据库模型,减少了XML配置文件的使用,提升了开发效率。通过熟练掌握这些注解,开发者可以更好地运用Hibernate进行数据持久化操作,实现高效、灵活的...
3. 注解(Annotation)在Hibernate中的应用: - @Entity:标记一个Java类为数据库中的一个表,表示该类是实体类。 - @Table:指定实体类对应的数据库表名。 - @Id:标识类中的主键字段,可以配合@GeneratedValue...
3.尽管通常使用 <mapping> 元素来声明持久性类,您还是需要在 Hibernate 配置文件(通常是 hibernate.cfg.xml)中声明持久性类。 在使用 Hibernate Annotation 时,需要注意以下几点: * Hibernate Annotation 库...
这篇文档主要讨论的是Hibernate Annotation的使用方法,以及它如何替代传统的XML配置文件(*.hbm.xml)进行对象-关系映射。 **1. Hibernate Annotation简介** Hibernate Annotation是Hibernate框架的一个扩展,它...
《Hibernate Annotation 中文文档》是Java开发者们的重要参考资料,它详细介绍了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是一款强大的开源Java持久化框架,它简化了数据库与Java对象之间的...
3.尽管通常使用 <mapping> 元素来声明持久性类,您还是需要在 Hibernate 配置文件(通常是 hibernate.cfg.xml)中声明持久性类。 使用 Hibernate 注解在 Spring 框架中的应用: 1. 近期的许多 Java 项目都使用了轻...
《Hibernate Annotations中文帮助文档》是针对Java开发人员的一份详细指南,主要讲解如何使用Hibernate ORM框架中的注解来实现数据库对象的映射。该文档涵盖了从基础到高级的各种概念,帮助开发者更高效地管理和操作...
而Hibernate Annotation是Hibernate的一个重要特性,它通过在Java类和字段上添加注解来简化数据库表和实体类之间的映射配置。这篇博文将带你了解如何使用Hibernate Annotation进行开发。 首先,我们需要理解Java...
在本文中,我们将深入探讨如何将Spring Boot框架与Hibernate ORM集成,特别是在不使用JPA(Java Persistence API)的情况下。Spring Boot以其便捷的自动配置和简化Java应用开发而广受欢迎,而Hibernate作为Java领域...
在3.4.0.GA版本中,Hibernate引入了注解支持,使得开发人员能够更方便地在类和属性上直接标注,无需依赖XML配置文件,提高了开发效率。本文将详细探讨Hibernate注解3.4.0.GA版本中的关键概念和用法。 一、实体注解@...
在Java开发中,Hibernate与Annotation的结合使用极大地简化了数据持久化的复杂性,使得开发人员无需编写大量的SQL代码。下面将详细介绍Hibernate-Annotation所涉及到的知识点。 1. **Hibernate框架**: Hibernate是...
1. 隐式映射:在上面的例子中,我们没有显式指定每个属性的映射,这是因为Hibernate Annotation采用了一种“配置例外”(configuration by exception)的理念。除主键和实体标识外,其他属性默认按照Java Bean的规则...
在Hibernate中,注解(Annotation)是一种声明式的方法,用于配置实体类、属性以及它们与数据库表之间的映射关系。本文将深入探讨“最全的Hibernate Annotation API文档”中的关键知识点。 一、实体类(Entity) 在...
在Java开发中,特别是在企业级应用中,使用框架如Hibernate和Spring是非常常见的。本文将详细讲解如何在Spring框架中利用`@Resource`注解进行依赖注入,以及它与Hibernate的关系。 `@Resource`注解是由Java EE标准...
19.5.3. Bag和list是反向集合类中效率最高的 19.5.4. 一次性删除(One shot delete) 19.6. 监测性能(Monitoring performance) 19.6.1. 监测SessionFactory 19.6.2. 数据记录(Metrics) 20. 工具箱指南 20.1...
本篇将详细介绍如何在Spring 3和Hibernate 4中配置声明式事务管理,采用注解方式。 一、Spring的事务管理 Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理需要在代码中显式地调用...
在IT行业中,Hibernate、Spring和Hibernate Annotations是三个非常重要的框架,尤其在Java企业级应用开发中扮演着核心角色。这些框架极大地简化了数据库操作、对象关系映射(ORM)以及应用程序的依赖注入和管理。 ...
**2.3 OpenSessionInViewFilter使用方法** 为了提高性能,通常会在Spring中使用`OpenSessionInViewFilter`来管理Hibernate的Session。这样可以在整个请求周期内保持Session打开状态,从而避免多次打开和关闭Session...