- 浏览: 7340899 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
在项目开发中采用Hibernate3注解方式实现关于一些配置和可扩展的总结:在Hibernate中配置中使用的SessionFactory中AnnotationSessionFactoryBean而不在使用HibernateTemplate模版类。
在非注解类中必须实现必须在配置对HibernateTemplate进行配置然后在DAO中使用时注入HibernateTemplate对象。但是在注解中就不在使用而是使用AnnotationSessionFactoryBean配置即可不必在每一个类中配置。
在配置文件中必须配置的数据源和AnnotationSessionFactoryBean类。
在注解的DAO中Dao层类继承HibernateDaoSupport通过创建抽象的类封装注解SessionFactory类,实现基础的接口不需要在每一个类中添加同样的注入
@Autowired
public final void setSessionFactoryExtend(SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}
减轻底层类的代码编写量!!
AnnotationSessionFactoryBean 如下:
public class AnnotationSessionFactoryBean extends LocalSessionFactoryBean implements ResourceLoaderAware ;
通常使用只需配置中添加datasource和packagesToScan即可
<bean id="sessionfactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="datasource"/>
</property>
<property name="packagesToScan">com.XX.xx</property>
</bean>
在AnnotationSessionFactoryBean 源代码中三个属性:
private Class[] annotatedClasses; //注解的类
private String[] annotatedPackages; //注解的类包
private String[] packagesToScan; //扫描的类包
private TypeFilter[] entityTypeFilters = new TypeFilter[] {
new AnnotationTypeFilter(Entity.class, false),
new AnnotationTypeFilter(Embeddable.class, false),
new AnnotationTypeFilter(MappedSuperclass.class, false)};
可选的选由:
private Resource[] configLocations;
private String[] mappingResources;
private Resource[] mappingLocations;//Hibernate的额外的配置如:自定义数据类型,枚举类型的应用等配置
private Resource[] cacheableMappingLocations;
private Resource[] mappingJarLocations;
private Resource[] mappingDirectoryLocations;
private Properties hibernateProperties;//Hibernate的属性设置:如show_sql=true,hibernate.dialect,format_sql hibernate.default_batch_fetch_size,hibernate.cache.use_query_cache等
private TransactionManager jtaTransactionManager; //事务管理器
private CacheProvider cacheProvider;//缓存提供器的应用
private LobHandler lobHandler; //lob数据处理器
private Interceptor entityInterceptor; //实体拦截器
private NamingStrategy namingStrategy; //表名称的命名策略
private TypeDefinitionBean[] typeDefinitions;
private FilterDefinition[] filterDefinitions;
private Properties entityCacheStrategies;
private Properties collectionCacheStrategies;
private Map eventListeners;
private boolean schemaUpdate = false; //schemaUpdate
private ClassLoader beanClassLoader = ClassUtils.getDefaultClassLoader();
private Configuration configuration;
Spring中lob处理器
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"/>
缓存提供处理者:
<bean id="hibernate.cacheProvider" class="org.hibernate.cache.HashtableCacheProvider"/>
如果你想让项目中注解生成的类的名称以特殊的前缀必须重写ImprovedNamingStrategy中某些方法实现:
ImprovedNamingStrategy 如下:
public class ImprovedNamingStrategy implements NamingStrategy, Serializable ;
重写中重点方法如下:
@Override
public String classToTableName(String className) {
return prependPrefix(super.classToTableName(className));
}
@Override
public String tableName(String tableName) {
return prependPrefix(super.tableName(tableName));
}
@Override
public String logicalCollectionTableName(
String tableName,
String ownerEntityTable,
String associatedEntityTable,
String propertyName) {
return prependPrefix(
super.logicalCollectionTableName(
tableName,
ownerEntityTable,
associatedEntityTable,
propertyName
)
);
}
在项目中通过对针对AnnotationSessionFactoryBean 的扩展使其支持正则表达式匹配。
评论
知识在于总结,如果仅仅知识用用而已,不总结,那永远是别人的,学习的知识重在总结,一可以提高自己对知识的理解,二可以提高自己的对表达能力。
发表评论
-
编程的十四条经验
2013-05-06 10:32 1822排列不分先后: 1. 当 ... -
整合Struts2+JasperReport Web报表应用示例
2013-04-22 13:56 2289整合Struts2+JasperReport Web报表应用 ... -
关于H2使用的那些事
2012-12-14 16:40 27223在项目中采用H2作为工 ... -
Java 分割功能实现
2011-08-25 08:39 2797在项目针对比较大的文件需要文件的分割功能,特意写了一个 ... -
反射工具类
2010-04-25 10:47 2401package easyway.tbs.client.bm.u ... -
项目中Hibernate中Criteria和Query查询和模式引用
2010-02-21 15:52 2457在项目中Hibernate中Criteria和Q ... -
json 在项目中开发一个巧妙地应用
2009-12-12 16:49 3905在项目中需要保存客户的信息到Cookie中,因为客户要求 ... -
项目中使用时间工具类
2009-11-21 16:43 3035项目中使用的时间工具类的主要的采用commons-l ... -
将HTML文件转换为图片应用开发
2009-10-21 11:15 4466项目使用的基 ... -
Spring项目的测试用例
2009-08-22 12:49 2336在项目的开发过程中使用Junit4测试代码,使用 ... -
jBPM与Spring整合浅析
2009-08-22 12:41 26651、创建公文流转相关的实体类,并创建数据库表 2、根据对用 ... -
Hibernate正向工程hbm2ddl
2009-08-19 10:14 2313一般在项目开 ... -
Hibernate中用户类型(User Type)应用
2009-08-16 09:08 3144在项目中许多地方使用枚举类,枚举对象值对应数据一个常 ... -
关于常用城市控件中数据的处理方案
2009-08-15 19:41 2420在项目中由于多次使用的国家省份城市的控件,以前采 ... -
在Spring2.5注解时必须注意几点
2009-08-15 19:22 2137项目中采用Spring2.5配置重点内容如下: ... -
中文转换拼音的实现思路以及实现
2009-08-15 18:40 2919在项目中一位大师兄写的中文转换拼音代码:自己整理一下 ... -
在项目中一些相关常量数组使用枚举应用
2009-08-15 18:01 2622在项目中采用Hibernate中支持枚举类型因此我们使用许 ... -
关于项目中泛型的应用
2009-08-15 12:38 2399在项目采用JDK1.6采用泛型开发,在开发应用之中减少了大 ... -
针对项目中XML解析的扩展应用
2009-08-15 12:14 2581由于项目中多个需 ...
相关推荐
Hibernate注解是一种元数据方式,用于在Java类和属性上声明数据库映射信息,从而避免了XML配置文件的繁琐。注解提供了一种更加简洁、直观的方式来描述实体类和它们与数据库表之间的关系。 1. **@Entity**: 表示一个...
本实例"spring-hibernate注解配置源码"旨在展示如何在不使用XML配置的情况下,通过注解的方式整合Struts2、Spring和Hibernate,创建一个完整的MVC(模型-视图-控制器)架构的应用。下面将详细介绍这个过程中的关键...
### Hibernate注解配置详解 #### 一、概述 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程。在使用Hibernate的过程中,开发者可以通过注解来实现对象与数据库表之间...
在这个“Hibernate注解配置表映射实例”中,我们将深入探讨如何使用Hibernate的注解来配置实体类与数据库表之间的映射。 Hibernate注解提供了在Java类和类属性上直接定义数据库映射的能力,避免了XML配置文件的繁琐...
在 Hibernate 中,注解是一种简洁且强大的工具,用于替代传统的 XML 配置文件来描述对象模型和数据库之间的映射关系。这篇文档将深入探讨 Hibernate 注解的使用。 ### 第 1 章 创建一个注解项目 在开始使用 ...
在这个"springmvc+hibernate注解框架整合 demo"项目中,你可以看到所有这些概念的实际应用,包括如何配置和使用注解来实现Spring MVC和Hibernate的整合。这个示例对于初学者来说是一个很好的起点,可以帮助他们理解...
Hibernate是Java领域中一款广泛应用的...总的来说,Hibernate注解让Java开发者能够更直观地将对象模型映射到数据库,提高了开发效率,降低了出错概率。理解并熟练运用这些注解,是提升Java企业级开发能力的重要一步。
这里我们主要讨论如何通过全注解配置来实现这三大框架的集成,并关注它们在数据库操作中的应用。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它提供了一种组织应用程序的方式,...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架。本教程将深入探讨如何使用...在实际项目中,结合IDE的自动代码生成和重构工具,SSH框架的注解使用可以进一步提升开发效率。
在全注解开发中,我们不再需要编写大量的Hibernate配置文件,而是通过在实体类上使用`@Entity`声明为数据库表,`@Table`定义表名,`@Id`标识主键,`@GeneratedValue`处理主键生成策略。对于字段,`@Column`注解用于...
下面我们将详细讲解如何配置和使用Spring+Hibernate注解声明式事务: 1. **配置Spring**: - 首先,我们需要在Spring配置文件中启用事务管理器,通常是`HibernateTransactionManager`,并配置数据源。 - 然后,...
在实际项目中,除了这三个核心的Hibernate注解库,可能还需要其他的依赖,例如: - **jta.jar**:Java Transaction API,用于支持分布式事务处理。 - **javax.persistence-api.jar**:JPA规范的API,包含了一些基础...
在Java的ORM框架Hibernate中,注解是一种强大的工具,它允许开发者无需XML配置就能实现对象关系映射。本文主要总结了Hibernate中常见的注解用法,涵盖了类级别和属性级别的注解,以及与主键和非主键相关的注解。 1....
### Hibernate注解API知识点概述 #### 一、Hibernate注解简介 Hibernate 是一款非常流行的 Java 持久层框架,它极大地简化了数据库操作。在 Hibernate 中,可以通过使用注解来映射对象与数据库表之间的关系,从而...
在这个特定的项目中,开发者选择了SSH2的特定版本:Struts2.1.6、Spring2.5.6和Hibernate3.3,并且强调了全注解开发,这意味着在配置文件中尽可能地使用注解来代替XML配置。 首先,让我们详细了解一下这三个框架的...
在"Struts+Spring+Hibernate注解零配置整合"项目中,开发者可能创建了一个简单的Java Web应用,其中包含以下关键部分: 1. **Struts 2 Action**:使用注解定义Action类,比如`@Action("saveUser")`,并实现业务逻辑...
然后,在实体类中使用Hibernate注解定义数据模型,如: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence...
在MyPlan项目中,注解被广泛用于配置Spring、Spring MVC和Hibernate,比如@Controller、@Service、@Repository、@Autowired等,使得代码更加简洁,配置文件更少。 5. **FusionCharts**:FusionCharts是一款...
Hibernate是一款强大的Java持久化框架,它简化了数据库与对象之间的交互。在本文中,我们将深入探讨Hibernate注解的几个核心方面:...在实践中,不断探索和优化你的注解配置,将有助于创建出更加健壮、高效的Java应用。
在Hibernate框架中,注解配置被广泛用于简化对象关系映射(ORM)的配置,使得Java Bean可以直接与数据库表进行关联。本篇文章将深入探讨如何使用注解配置Java Bean并建立Hibernate的关联关系。 首先,我们需要理解...