在Hibernate中:是否可以为实体混合注释和XML配置?

gan*_*zux 11 java spring annotations hibernate xml-configuration

那么,是否可以混合两种配置而不是仅使用其中一种?

我想要的只是通过Annotations保留所有配置并通过XML读取表.

可能吗?

非常感谢.

编辑:hbm.xml文件怎么样?我有这个:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="MyData" table="MyTable" >
    </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

并且不要编译dtd.

vik*_*tor 20

Hibernate文档(最新)

请注意,您可以混合使用旧版hbm.xml和注释方法.resource元素可以是hbm文件或EJB3 XML部署描述符.区别对于您的配置过程是透明的.

您可以将带注释的持久类和经典的hbm.cfg.xml声明与相同的SessionFactory混合使用.但是,您不能多次声明一个类(无论是注释还是通过hbm.xml).您也不能在实体层次结构中混合配置策略(hbm与注释).

为了简化从hbm文件到注释的迁移过程,配置机制检测注释和hbm文件之间的映射重复.然后,HBM文件在类到类的基础上优先于带注释的元数据.您可以使用hibernate.mapping.precedence属性更改优先级.默认值是 hbm, class并将其更改为class, hbm在发生冲突时将注释类优先于hbm文件.