Java Implementation
所提供的每个组件都使用`o.s.i.jpa.core.JpaExecutor`类,而后者又使用`o.s.i.jpa.core.JpaOperations`接口的实现。JpaOperations`的工作方式类似于典型的数据访问对象 (DAO),并提供诸如查找、持久化、executeUpdate 等方法。对于大多数用例,默认实现(`o.s.i.jpa.core.DefaultJpaOperations
)就应该足够了。但是,如果您需要自定义行为,可以指定自己的实现。
要初始化`JpaExecutor`,您必须使用接受以下其中之一的参数的构造函数:
-
EntityManagerFactory
-
EntityManager
-
JpaOperations
以下示例演示如何使用`entityManagerFactory`初始化`JpaExecutor`并将其用于出站网关:
@Bean
public JpaExecutor jpaExecutor() {
JpaExecutor executor = new JpaExecutor(this.entityManagerFactory);
executor.setJpaParameters(Collections.singletonList(new JpaParameter("firstName", null, "#this")));
executor.setUsePayloadAsParameterSource(true);
executor.setExpectSingleResult(true);
return executor;
}
@ServiceActivator(inputChannel = "getEntityChannel")
@Bean
public MessageHandler retrievingJpaGateway() {
JpaOutboundGateway gateway = new JpaOutboundGateway(jpaExecutor());
gateway.setGatewayType(OutboundGatewayType.RETRIEVING);
gateway.setOutputChannelName("resultsChannel");
return gateway;
}