我正在使用Hibernate 4.02。 我想要做的是我想在我的所有hbm文件中包含一些常见的Hbm映射。 例如,帐户,联系人hbm.xml文件有自己的文件ID,名称等。 我想要做的是在所有这些hbm文件中添加一些常见的版本,如ModifiedBy和CreatedBy。
答案 0 :(得分:0)
您可以为xml文件定义外部实体。这不是休眠专用功能,而是xml功能。 Check this。
您可以指定具有公共属性的公共.hbm
文件,然后将其导入所有其他hbm文件中。
例如,您可以在类路径中使用以下内容创建名为commonProperties.hbm
的文件
<property name="created" type="timestamp" not-null="true" />
<property name="lastUpdated" type="timestamp" not-null="true"/>
然后在您的其他hbm文件中,例如在Person.hbm.xml
中,您可以如下所示导入上述hbm文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"
[<!ENTITY commonProperties SYSTEM "classpath://path/to/commonProperties.hbm">]
>
<hibernate-mapping>
<class name="com.example.Person" table="person">
....
<id name="id" column="personid">
<generator class="native" />
</id>
&commonProperties;
<property name="name" column="name" not-null="true" unique="true" length="230" />
....
....
....
希望这会有所帮助。