注册

DM8使用spring-data出现错误

岁月无声 2024/12/07 337 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:x86
【问题描述】*:DM8使用spring-data出现错误,相同的代码在mysql和oracle中均无问题,Comment注解也不能正确生成数据库注释,说明达梦Hibernate方言实现不完整
hibernate版本:6.6.2
spring-data版本:3.4.0
代码:

public interface ICodeFragmentRepository extends JpaRepositoryImplementation<CodeFragment, String> { @Query("select max (frag.indexNumber) from #{#entityName} as frag where frag.tenantCode=:tenantCode and frag.generatorCode=:generatorCode") Float findMaxCodeFragmentIndexNumber(@Param("tenantCode")String tenantCode,@Param("generatorCode")String generatorCode); void deleteByTenantCodeAndGeneratorCode(String tenantCode, String generatorCode); @Query("from #{#entityName} as frag where frag.resetCondition is not null and LENGTH(frag.resetCondition) > 0 ") List<FlowFragment> findFlowFragmentByResetConditionNotEmpty(); List<CodeFragment> findByTenantCodeAndGeneratorCodeOrderByIndexNumberAsc(String tenantCode, String generatorCode); }

错误:

Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List framework.coder.repository.ICodeFragmentRepository.findByTenantCodeAndGeneratorCodeOrderByIndexNumberAsc(java.lang.String,java.lang.String); Cannot invoke "org.hibernate.query.sqm.function.SqmFunctionDescriptor.generateSqmExpression(org.hibernate.query.sqm.tree.SqmTypedNode, org.hibernate.query.ReturnableType, org.hibernate.query.spi.QueryEngine)" because the return value of "org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.getFunctionDescriptor(String)" is null
	at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.<init>(PartTreeJpaQuery.java:107)
	at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:128)
	at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:262)
	at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:99)
	at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:116)
	... 47 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.hibernate.query.sqm.function.SqmFunctionDescriptor.generateSqmExpression(org.hibernate.query.sqm.tree.SqmTypedNode, org.hibernate.query.ReturnableType, org.hibernate.query.spi.QueryEngine)" because the return value of "org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.getFunctionDescriptor(String)" is null
	at org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.count(SqmCriteriaNodeBuilder.java:863)
	at org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.count(SqmCriteriaNodeBuilder.java:192)
	at org.springframework.data.jpa.repository.query.JpaCountQueryCreator.getCountQuery(JpaCountQueryCreator.java:74)
	at org.springframework.data.jpa.repository.query.JpaCountQueryCreator.complete(JpaCountQueryCreator.java:68)
	at org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:141)
	at org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:1)
	at org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:95)
	at org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:81)
	at org.springframework.data.jpa.repository.query.PartTreeJpaQuery$QueryPreparer.<init>(PartTreeJpaQuery.java:224)
	at org.springframework.data.jpa.repository.query.PartTreeJpaQuery$CountQueryPreparer.<init>(PartTreeJpaQuery.java:370)
	at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.<init>(PartTreeJpaQuery.java:103)
	... 51 more
回答 0
暂无回答
扫一扫
联系客服