下面列出了怎么用org.hibernate.loader.custom.sql.SQLCustomQuery的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public CompletionStage<Integer> executeReactiveUpdate(NativeSQLQuerySpecification specification,
QueryParameters parameters) {
checkOpenOrWaitingForAutoClose();
pulseTransactionCoordinator();
parameters.validateParameters();
ReactiveNativeSQLQueryPlan reactivePlan = //getNativeQueryPlan( specification );
new ReactiveNativeSQLQueryPlan(
specification.getQueryString(),
new SQLCustomQuery(
specification.getQueryString(),
specification.getQueryReturns(),
specification.getQuerySpaces(),
getFactory()
) );
return reactiveAutoFlushIfRequired( reactivePlan.getCustomQuery().getQuerySpaces() )
.thenCompose( v -> reactivePlan.performExecuteReactiveUpdate( parameters, this ) )
.whenComplete( (count, x) -> {
afterOperation( x == null );
delayedAfterCompletion();
} );
}
@Override
public NativeSQLQueryPlan createQueryPlan(
NativeSQLQuerySpecification specification,
SessionFactoryImplementor sessionFactory) {
CustomQuery customQuery = new SQLCustomQuery(
specification.getQueryString(),
specification.getQueryReturns(),
specification.getQuerySpaces(),
sessionFactory
);
return new NativeSQLQueryPlan( specification.getQueryString(), customQuery );
}
public NativeSQLQueryPlan(
NativeSQLQuerySpecification specification,
SessionFactoryImplementor factory) {
this.sourceQuery = specification.getQueryString();
customQuery = new SQLCustomQuery(
specification.getQueryString(),
specification.getQueryReturns(),
specification.getQuerySpaces(),
factory );
}
public SQLCustomQuery getCustomQuery() {
return customQuery;
}