在Hibernate中:是否可以为实体混合注释和XML配置?
那么,是否可以混合两种配置而不是仅使用其中一种?
我想要的是通过Annotations保留所有配置并通过XML读取表。
可能吗?
非常感谢。
编辑:hbm.xml文件怎么样? 我有这个:
不要编译dtd。
Hibernate文档(最新)
请注意,您可以混合使用旧版hbm.xml和注释方法。 resource元素可以是hbm文件或EJB3 XML部署描述符。 区别对于您的配置过程是透明的。
您可以将带注释的持久类和经典的hbm.cfg.xml声明与相同的SessionFactory混合使用。 但是,您不能多次声明一个类(无论是注释还是通过hbm.xml)。 您也不能在实体层次结构中混合配置策略(hbm与注释)。
为了简化从hbm文件到注释的迁移过程,配置机制检测注释和hbm文件之间的映射重复。 然后,HBM文件在类到类的基础上优先于带注释的元数据。 您可以使用hibernate.mapping.precedence属性更改优先级。 默认值为
hbm, class
并将其更改为class, hbm
当发生冲突时class, hbm
将优先于hbm文件上的带注释的类。