默認情況下,所有實體類名都自動導入到Hibernate查詢語言的命名空間,這樣就可以在HQL中使用類的非限定名。然而,在給定的SessionFactory中包含有一個以上類名相同但包名不同的類,便會出問題。我們應該把自動導入的功能關閉:
<hibernate-mapping auto-import="false">…</hibernate-mapping>
該項設置只對當前<hibernate-mapping>所包含的<class>子元素有效。
與關閉自動導入功能相反,我們也可以爲實體指定別名,甚至可以導入非顯式映射的類和接口,這樣便可以在多態的HQL查詢中直接使用別名。
<hibernate-mapping>
<import class=”footmark.hibernate.entity.UserInterface” rename=”ui”/>
</hibernate-mapping>