Hibernate-将鉴别器用作类属性
因此,我试图获取类PesquisaFiltroGeral中字段属性的鉴别器值:Hibernate-将鉴别器用作类属性,hibernate,properties,discriminator,Hibernate,Properties,Discriminator,因此,我试图获取类PesquisaFiltroGeral中字段属性的鉴别器值: <class name="PesquisaFiltroGeral" table="PESQUISA_FILTRO_GERAL" abstract="true"> <id name="id" column="ID"> <generator class="native"/> </id> <discriminator colu
<class name="PesquisaFiltroGeral" table="PESQUISA_FILTRO_GERAL" abstract="true">
<id name="id" column="ID">
<generator class="native"/>
</id>
<discriminator column="tipo" type="string"/>
<property name="fieldType" column="tipo" insert="false" update="false"/>
<subclass name="com.domain.entity.PesquisaFiltroProcess" discriminator-value="PROCESS_TYPE">
<property name="field" column="PROCFIELD">
<type name="org.hibernate.type.EnumType">
<param name="useNamed">true</param>
<param name="identifierMethod">getValue</param>
<param name="valueOfMethod">getFromValue</param>
<param name="enumClass">com.domain.enums.PesquisaFieldsProcesso</param>
</type>
</property>
</subclass>
<!--DOCUMENT FIELD - SUBCLASS 2-->
<subclass name="com.domain.entity.PesquisaFiltroDocument" discriminator-value="DOCUMENT_TYPE">
<property name="field" column="DOCFIELD">
<type name="org.hibernate.type.EnumType">
<param name="identifierMethod">getValue</param>
<param name="valueOfMethod">getFromValue</param>
<param name="enumClass">com.domain.enums.PesquisaFieldsDocumento</param>
</type>
</property>
</subclass>
</class>
真的
getValue
getFromValue
com.domain.enums.PesquisaFieldsProcesso
getValue
getFromValue
com.domain.enums.PesquisaFieldsDocumento
但是当我试图从db中获取这种类型的对象时,fieldType为null。有什么原因吗?出于某种原因,将属性名称更改为与列相同的名称,从而实现此操作:
<discriminator column="tipo" type="string"/>
<property name="tipo" column="tipo" insert="false" update="false"/>