我使用的是Hibernate 4.02。我想做的是将一些常见的Hbm映射包含到我的所有hbm文件中。例如帐户,联系人hbm.xml文件有自己的文件Id,名称等,我想做的是添加一些常见的属性,如ModifiedBy和CreatedBy到所有这些hbm.xml文件。
发布于 2018-11-07 20:02:28
您可以为xml文件定义外部实体。这不是hibernate特有的特性,而是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" />
....
....
....希望这能有所帮助。
https://stackoverflow.com/questions/26924980
复制相似问题