我利用Scala和Java之間的互操作性,並使用Scala的下面的代碼,在用Java編寫的同一個項目中實例化一個類。 CommandExecutor
參數是從父類繼承的。Scala無法解析構造函數
class IdmIdentityServiceImpl extends ServiceImpl with IdmIdentityService {
override def createNativeUserQuery: NativeUserQuery = {
new NativeUserQueryImpl(commandExecutor)
}
}
我得到一個錯誤,在實例NativeUserQueryImpl
,說cannot resolve constructor
NativeUserQueryImpl
是用Java編寫的,但我一直在閱讀有關Java和Scala之間的互操作性,感覺像它應該工作。
這是NativeUserQueryImpl
類,它在其構造函數之一中包含CommandExecutor
類型。該類來自流動引擎庫。
public class NativeUserQueryImpl extends AbstractNativeQuery<NativeUserQuery, User> implements NativeUserQuery {
private static final long serialVersionUID = 1L;
public NativeUserQueryImpl(CommandContext commandContext) {
super(commandContext);
}
public NativeUserQueryImpl(CommandExecutor commandExecutor) {
super(commandExecutor);
}
// results ////////////////////////////////////////////////////////////////
public List<User> executeList(CommandContext commandContext, Map<String, Object> parameterMap, int firstResult, int maxResults) {
return commandContext.getUserEntityManager().findUsersByNativeQuery(parameterMap, firstResult, maxResults);
}
public long executeCount(CommandContext commandContext, Map<String, Object> parameterMap) {
return commandContext.getUserEntityManager().findUserCountByNativeQuery(parameterMap);
}
}
編輯:
完整的錯誤
Error:(31, 5) overloaded method constructor NativeUserQueryImpl with alternatives:
(x$1: org.flowable.idm.engine.impl.interceptor.CommandExecutor)org.flowable.idm.engine.impl.NativeUserQueryImpl <and>
(x$1: org.flowable.idm.engine.impl.interceptor.CommandContext)org.flowable.idm.engine.impl.NativeUserQueryImpl
cannot be applied to (org.flowable.engine.impl.interceptor.CommandExecutor)
new NativeUserQueryImpl(commandExecutor)
commandExecutor定義在哪裏? – nmat
@nmat在同一個項目中 – Rafa
它從父類繼承。我添加了包含在其中的完整類簽名。它位於'ServiceImpl' – Rafa