- 浏览: 7252840 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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的信息
项目中使用Spring2.5+hibernate3.3+Struts2.0 注解,但是在项目的工作流中使用到工作流的配置文件hbm文件。所以研究一下注解和hbm的的加载顺序。
首先注解使用的AnnotationSessionFactoryBean 的bean:
public class AnnotationSessionFactoryBean extends LocalSessionFactoryBean implements ResourceLoaderAware;
private static final String RESOURCE_PATTERN = "**/*.class";
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 ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
注解中可以使用:可以使用注解类,注解包,hbm文件。
/**
* Specify annotated classes, for which mappings will be read from
* class-level JDK 1.5+ annotation metadata.
* @see org.hibernate.cfg.AnnotationConfiguration#addAnnotatedClass(Class)
*/
public void setAnnotatedClasses(Class[] annotatedClasses) {
this.annotatedClasses = annotatedClasses;
}
/**
* Specify the names of annotated packages, for which package-level
* JDK 1.5+ annotation metadata will be read.
* @see org.hibernate.cfg.AnnotationConfiguration#addPackage(String)
*/
public void setAnnotatedPackages(String[] annotatedPackages) {
this.annotatedPackages = annotatedPackages;
}
/**
* Set whether to use Spring-based scanning for entity classes in the classpath
* instead of listing annotated classes explicitly.
* <p>Default is none. Specify packages to search for autodetection of your entity
* classes in the classpath. This is analogous to Spring's component-scan feature
* ({@link org.springframework.context.annotation.ClassPathBeanDefinitionScanner}).
*/
public void setPackagesToScan(String[] packagesToScan) {
this.packagesToScan = packagesToScan;
}
hibernate 的注解和传统的hibernate配置:除了启动方式和配置文件有所改变之外,结合注解来使用hbiernate API和以前的的没有区别。
原来的各种配置文件仍然可以使用。甚至对于同一sessionfactory,你课可以混合注解的持久类以及传统的hbm声明方式,然而你不能多次声明同一个类(注解和hbm采用其中一种),而且在一个映射实体的类继承层中,这两个配置策略不能同时使用。
为了简化从hbm文件到注解的迁移过程。配置机制将自动检测在注解和hbm文件中重复的映射,默认情况下hbm文件按中声明比类中注解元数据具有更高的优先级,这种优先级的设定是以类为单位的,
你可以通过hibernate.mapping.precedence修改这种优先级别,默认值是:hbm,class ,如果该为class,hbm,当发生冲突的时候,类中注解将比hbm文件中具有更改的优先级。
学习技术必须会对比:
在struts2.0中
通常struts2加载struts2常量的顺序如下:
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
在不同的配置文件里存在相同的常量的话,后者将会覆盖前者.
可以看出,struts2.0的xml中声明中属性优先加载,在这点上和hibernate有点相似。
评论
个人觉得使用hbm配置还是有优点的,没必要 非得迁移到注解。
发表评论
-
【转】在项目中使用多个数据源-多sessionFactory方案
2013-05-10 16:30 3071适用范围:适合SSH架构访问多个数据库, ... -
Hibernate使用中从数据库到模型的加载方式研究
2010-01-28 13:19 1921在项目中数据库中账单Bill一个字段是有多个订单id的以逗 ... -
hibernate中@Transient的使用
2010-01-19 15:20 10637项目中可能有许多实体的需要辅助的属性和方法辅助,hibe ... -
hibernate查询的使用的点滴积累
2010-01-09 13:04 1872/** * 前台查询酒店的级别,设备,类型 * * ... -
Hibernate 的HQL中一个经典函数elements的使用
2010-01-09 12:53 10303在传递索引和元素给集合时(elements and indic ... -
Hibernate关联查询中with的经典使用
2010-01-09 12:42 2160在项目采用Hibernate关联,采用关联使用比较简单,在关 ... -
判断数据库表每条记录中时间段是否在每一个时间段中
2010-01-09 12:35 3039项目中一个成品价格表,每条记录中的价格有一个使用时间 ... -
JPA 中注解一个父类中多个子类实现查询部分子类方法解决方法
2010-01-09 12:10 2023父类: @Entity@Inheritance(stra ... -
Hibernate调用执行存储过程
2010-01-09 12:03 1990项目中需要采用存 ... -
Hibernate的一个异常的解决方案
2009-12-05 11:01 2403在项目中使用HQL时的遇有多个类的嵌套比较发生的异常: ... -
Hibernate的事件和拦截器体系
2009-12-01 13:53 2319持久层框架底层的拦截器机制是对诸如Spring等业务管理容器拦 ... -
Hibernate的拦截器和监听器
2009-12-01 13:52 1925最近项目需要,用到了Hibernate的拦截器和监听器,有些小 ... -
Hibernate的拦截器和监听器
2009-12-01 13:50 3740项目采用Spring构建,持久层技术采用的是 JPA规范 + ... -
Hibernate的注解many-to-one
2009-11-28 12:12 23234項目中一個實例: ... -
Hibernate查询语言HQL 八大要点
2009-11-18 13:15 1973本文讲述Hibernate查询语言HQL。Hibernat ... -
条件查询(Criteria Queries
2009-11-18 13:14 1726... -
Hibernate查询语言(Query Language), 即HQL
2009-11-18 13:05 2433Hibernate查询语言(Query L ... -
Hibernate中的配置属性
2009-11-15 17:40 1721hbm2ddl.auto的使用配置说明: <!-- ... -
Hibernate JPA 的索引的使用
2009-11-15 17:30 11845在Hibernate中Model中一个对象关 ... -
Hibernate缓存性能监听
2009-11-15 17:23 1655Statistics接口提供三种类别的统计信息: ...
相关推荐
通过myeclipse自动生成Hibernate类文件和hbm.xml文件,链接数据库库自动生成
以hibernate-tools-5.2.1.Final.jar为例,5.0以下的版本尚未验证
主要介绍通过Hibernate不用别的插件,逆向生成实体类的方法,包括标签注解映射和hbm.xml文件映射两种
hibernate.queries.hbm.xml这个文件需要放在jbpm*(版本).jar中。。的org.jbpm.db目录下,先删除以前的文件,然后,换上共享中这个。。大家可以用文件比较器看看,并没有改变以前的,只是新加了。。
hibernate3 配置hbm2ddl和hbm2java所需jar,里面包含了所有的jar,如:hibernate3的相关jar、hibernate-tools.jar等。
传统上,Hibernate的配置依赖于外部 *.hbm.xml文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载。 借助新的 Hibernate Annotation 库,即可一次性地分配所有旧映射文件——一切都会按照您的想法来...
详解hibernate.hbm2ddl.atuo 属性的配置
修改了Hibernate的源码,可动态增加映射文件
针对hibernate关系映射进行了一个总结,包含xml配置形式和@注解配置形式,one-to-many,one-to-noe,many-to-one,many-to-many等单方向的配置和双方都配置的事例
详细描述hibernate 下hbm文件的内容
对hibernate.hbm.xml解释很详细~ 开发的时候很有用的哦~!
通过Hibernate Tool 来实现通过数据库表自动生成Java类和HBM文件
2018最新hibernate代码学习教程。主要为hibernate的注解式应用方式。重点包括一对一,一对多及多对多关系的配置代码...另,如果要测试代码中的hbm2ddl时,请动态更改hibernate.cfg.xml中的注释,以匹配不同的类对象。
利用hibernate自动生成hbm.xml文件和entity类,挺详细的文档呢,可以参考看看的喔喔
在eclipse上通过hibernate工具,将数据库表生成Java类和xml配置文件 总共有2个版本,根据自己的需求使用版本3或者5: 1. hibernate-tools-3.4.0.CR2.jar是修改完成的jar包,直接替换原来的jar包, 重启eclipse即可...
实例代码,详细描述了三种hbm.xml加载方式,包含NHibernate的基础操作,内附测试数据库。辅加数据库后可直接运行。
Hibernate逆向生成entity和hbm.xml文件这是一个视频,比文件看起来更加给力。
myeclipse中自动生成hibernate的POJO、DAO和hbm.xml文件,自己整理了一下,以防以后忘了。
下载并安装hibernate tools插件,下载地址:...安装完Hibernate tools插件后,在eclipse安装目录下搜索并替换hibernate-tools-5.2.0.Beta1.jar文件,即可生成带中文注释的类和hbm文件
Hibernate关联关系hbm.xml中的相关属性many-to-one/one-to-many/many-to-many 中所有属性值以及其用法。