diff --git a/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java b/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java index 426af79ed..8a28ba39a 100644 --- a/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java +++ b/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java @@ -18,17 +18,23 @@ import static com.google.common.base.Verify.verify; import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm; import google.registry.backup.AppEngineEnvironment; +import google.registry.model.contact.ContactResource; +import google.registry.persistence.transaction.CriteriaQueryBuilder; import google.registry.persistence.transaction.JpaTransactionManager; import java.io.Serializable; import org.apache.beam.sdk.Pipeline; import org.apache.beam.sdk.metrics.Counter; import org.apache.beam.sdk.metrics.Metrics; import org.apache.beam.sdk.options.PipelineOptionsFactory; -import org.apache.beam.sdk.transforms.Create; import org.apache.beam.sdk.transforms.DoFn; import org.apache.beam.sdk.transforms.ParDo; -/** Toy pipeline that demonstrates how to use {@link JpaTransactionManager} in BEAM pipelines. */ +/** + * Toy pipeline that demonstrates how to use {@link JpaTransactionManager} in BEAM pipelines. + * + *
This pipeline may also be used as an integration test for {@link RegistryJpaIO.Read} in a
+ * project with realistic data.
+ */
public class JpaDemoPipeline implements Serializable {
public static void main(String[] args) {
@@ -38,23 +44,16 @@ public class JpaDemoPipeline implements Serializable {
Pipeline pipeline = Pipeline.create(options);
pipeline
- .apply("Start", Create.of((Void) null))
.apply(
- "Generate Elements",
- ParDo.of(
- new DoFn The errorprone check forbids injection of {@link java.io.Closeable} resources.
*/
void teardown();
+
+ /**
+ * Sets the JDBC driver fetch size for the {@code query}. This overrides the default
+ * configuration.
+ */
+ static Query setQueryFetchSize(Query query, int fetchSize) {
+ return query.setHint("org.hibernate.fetchSize", fetchSize);
+ }
}
diff --git a/core/src/main/java/google/registry/persistence/transaction/JpaTransactionManagerImpl.java b/core/src/main/java/google/registry/persistence/transaction/JpaTransactionManagerImpl.java
index e4ae4981d..1af6935c4 100644
--- a/core/src/main/java/google/registry/persistence/transaction/JpaTransactionManagerImpl.java
+++ b/core/src/main/java/google/registry/persistence/transaction/JpaTransactionManagerImpl.java
@@ -1052,11 +1052,7 @@ public class JpaTransactionManagerImpl implements JpaTransactionManager {
logger.atWarning().log("Query result streaming is not enabled.");
}
TypedQuery