auto-import的意思

例如:jbpm的一个映射文件:
<hibernate-mapping auto-import="false" default-access="field" >
  <subclass name="org.jbpm.graph.node.TaskNode" 
            discriminator-value="K" 
            extends="org.jbpm.graph.def.Node">
    <property name="signal" column="SIGNAL_" />
    <property name="createTasks" column="CREATETASKS_" />
    <property name="endTasks" column="ENDTASKS_" />
    <set name="tasks" cascade="all">
      <cache usage="nonstrict-read-write"/>
      <key column="TASKNODE_" foreign-key="FK_TASK_TASKNODE" />
      <one-to-many class="org.jbpm.taskmgmt.def.Task" />
    </set>
  </subclass>
</hibernate-mapping>
//
摘自网友的一段解释,看了一定明白它的意思了:

2009-03-29 00:51
例如异常信息如下:
       duplicate  import: User refers to both org.jbpm.identity.User and com.xiaobai.oa.model.User (try using auto-import="false")
大概意思是:重复引入 User类 分别引用的是  or g.jbpm.identity.User 和  com.xiaobai.oa.model.User
我的项目是基于 Jbpm(一个工作流引擎)的工作流开发。这个异常是Hibernate在映射的时候抛出的,解决这个异常的方法有两种:
第一种:直接的方法,就是吧自己的类名字改一个名字。
第二种:将发生异常的类(自己的程序的类)就上面的异常上下文的话应该是 com.xiaobai.oa.model.UserHibernate的映射文件的 <hibernate-mapping> 标签的 auto-import 属性值设置成 false,<hibernate-mapping auto-import="false">, 这样改了以后还要改的地方是你的 HQL 语句中用到 com.xiaobai.oa.model.User 类的地方都要写全名,如:" select user from com.xiaobai.oa.model.User user"
第二种解决方法的原理是:
     在使用 Hibernate HQL 查询语句的时候,如" select user from User user"
from 后面的类名默认是自动引入的也就是 <hibernate-mapping auto-import="true">  的效果,所以改为false后就要写类的全名。

你可能感兴趣的:(Hibernate,auto-import)