org.hibernate.QueryException: implicit polymorphism not supported for scroll() queries
2008-01-03 15:40
956 查看
org.hibernate.QueryException: implicit polymorphism not supported for scroll() queries的解决方案:
这个问题的解释是:多态不支持游标移动查询,这个问题的原因是因为在应用程序中运行的该映射文件被其它的映射继承,构成了“隐式多态”。
解决方法有两种:
第一种:将需要查询的实体(该实体作为父类被继承),改为它的其中一个子类(关系比较密切的子类),再进行查询.
第二种:在映射文件中加入“ polymorphism="explicit" ”该语句的意思为取消多态中子类与父类的继承关系。如下:
<class name="ContributionIdea" table="T_ContributionIdea" dynamic-update="false" dynamic-insert="false" polymorphism="explicit">
<id name="id" column="TID" type="integer">
<generator class="identity"/>
</id>
<property name="contributionID" column="ContributionID" type="integer"/>
<property name="auditUserID" column="AuditUserID" type="integer"/>
<property name="stateID" column="StateID" type="integer"/>
<property name="stateRemark" column="StateRemark" type="string"/>
<property name="auditIdea" column="AuditIdea" type="string"/>
<property name="auditAuthorIdea" column="AuditAuthorIdea" type="string"/>
<property name="planDate" column="PlanDate" type="timestamp"/>
<property name="finishDate" column="FinishDate" type="timestamp"/>
</class>
这个问题的解释是:多态不支持游标移动查询,这个问题的原因是因为在应用程序中运行的该映射文件被其它的映射继承,构成了“隐式多态”。
解决方法有两种:
第一种:将需要查询的实体(该实体作为父类被继承),改为它的其中一个子类(关系比较密切的子类),再进行查询.
第二种:在映射文件中加入“ polymorphism="explicit" ”该语句的意思为取消多态中子类与父类的继承关系。如下:
<class name="ContributionIdea" table="T_ContributionIdea" dynamic-update="false" dynamic-insert="false" polymorphism="explicit">
<id name="id" column="TID" type="integer">
<generator class="identity"/>
</id>
<property name="contributionID" column="ContributionID" type="integer"/>
<property name="auditUserID" column="AuditUserID" type="integer"/>
<property name="stateID" column="StateID" type="integer"/>
<property name="stateRemark" column="StateRemark" type="string"/>
<property name="auditIdea" column="AuditIdea" type="string"/>
<property name="auditAuthorIdea" column="AuditAuthorIdea" type="string"/>
<property name="planDate" column="PlanDate" type="timestamp"/>
<property name="finishDate" column="FinishDate" type="timestamp"/>
</class>
相关文章推荐
- org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations
- org.hibernate.hql.QueryExecutionRequestException:org.hibernate.hql.QueryExecutionRequestException: Not supported for DML operations【异常】
- Spring Data之@Query中的org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML
- Spring Data之@Query中的org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML
- " org.hibernate.PropertyNotFoundException:Could not find a getter for ..
- org.hibernate.exception.SQLGrammarException: could not execute query
- org.hibernate.exception.SQLGrammarException: could not execute query
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
- org.hibernate.exception.DataException: could not execute native bulk manipulation query的问题
- org.hibernate.hql.ast.QuerySyntaxException: is not mapped
- org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.Single
- 异常org.hibernate.QueryException: could not resolve property的原因
- 每日一得-org.hibernate.hql.ast.QuerySyntaxException: Path expected for join!错误解决办法
- org.hibernate.exception.GenericJDBCException: could not execute query项目登录验证报错
- org.hibernate.hql.ast.QuerySyntaxException per is not mapped [from Per as p]
- org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread
- org.hibernate.hql.ast.QuerySyntaxException: xxx is not mapped
- 【项目经验】org.hibernate.NonUniqueResultException: query did not return a unique result: 3
- org.hibernate.hql.ast.QuerySyntaxException: tablename is not mapped ......