精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-19
项目中使用Spring2.5+hibernate3.3+Struts2.0 注解,但是在项目的工作流中使用到工作流的配置文件hbm文件。所以研究一下注解和hbm的的加载顺序。
首先注解使用的AnnotationSessionFactoryBean 的bean: public class AnnotationSessionFactoryBean extends LocalSessionFactoryBean implements ResourceLoaderAware;
private String[] annotatedPackages; private String[] packagesToScan; //注解类的类型 private TypeFilter[] entityTypeFilters = new TypeFilter[] { private ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
注解中可以使用:可以使用注解类,注解包,hbm文件。 /** /** /** 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有点相似。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-19
hibernet 有必要HBM迁移到注解么? 虽说配置文件是多了。但是如果用注解,数据结构变化了,还要把打好的包里面的Class重新修改后再次编译?
个人觉得使用hbm配置还是有优点的,没必要 非得迁移到注解。 |
|
返回顶楼 | |
发表时间:2010-08-19
hibernate用注解可以减少一些编码量,而且改起来也容易.spirng里面我还不习惯用annotation
|
|
返回顶楼 | |
浏览 3944 次