因此,可以混合使用两种配置而不是仅使用其中一种配置吗?
我想要做的就是保留所有配置(通过注释)并通过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>
而且不要编译dtd。
hibernate文档(最新)
请注意,您可以将旧的hbm.xml使用和注释方法混合使用。资源元素可以是hbm文件或EJB3 XML部署描述符。区别对于您的配置过程是透明的。 您可以将带注释的持久化类和经典的hbm.cfg.xml声明与同一SessionFactory混合使用。但是,您不能多次声明一个类(无论是通过注释还是通过hbm.xml)。您也不能在实体层次结构中混合使用配置策略(HBM与注释)。 为了简化从hbm文件到注解的迁移过程,配置机制检测注解和hbm文件之间的映射重复。然后,在逐个类的基础上,HBM文件优先于带注释的元数据。您可以使用hibernate.mapping.precedence属性更改优先级。缺省值为, hbm, class并将其更改为,class, hbm当发生冲突时,它将在hbm文件上优先于带注释的类。
请注意,您可以将旧的hbm.xml使用和注释方法混合使用。资源元素可以是hbm文件或EJB3 XML部署描述符。区别对于您的配置过程是透明的。
您可以将带注释的持久化类和经典的hbm.cfg.xml声明与同一SessionFactory混合使用。但是,您不能多次声明一个类(无论是通过注释还是通过hbm.xml)。您也不能在实体层次结构中混合使用配置策略(HBM与注释)。
为了简化从hbm文件到注解的迁移过程,配置机制检测注解和hbm文件之间的映射重复。然后,在逐个类的基础上,HBM文件优先于带注释的元数据。您可以使用hibernate.mapping.precedence属性更改优先级。缺省值为, hbm, class并将其更改为,class, hbm当发生冲突时,它将在hbm文件上优先于带注释的类。
hbm, class
class, hbm