org.eclipse.persistence.config.BatchWriting Maven / Gradle / Ivy
/*
* Copyright (c) 1998, 2024 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.config;
/**
* Specify the use of batch writing to optimize transactions with multiple writes,
* by default batch writing is not used.
* Batch writing allows multiple heterogeneous dynamic SQL statements to be sent to the database as a single
* execution, or multiple homogeneous parameterized SQL statements to be executed as a single batch execution.
* Note that not all JDBC drivers, or databases support batch writing.
*
*
JPA persistence property usage:
* {@snippet :
* properties.add(PersistenceUnitProperties.BATCH_WRITING, BatchWriting.JDBC);
* }
*
*
Property values are case-insensitive
*
*
* - JDBC - JDBC batch API's are used (dynamic, or parameterized).
*
- Bufferred - dynamic SQL is concatenated into a batch SQL string.
*
- Oracle-JDBC - Oracle JDBC batch API's are used (allows row count to be returned for optimistic locking).
*
- <custom-class> - A custom class that extends the BatchWritingMechanism class.
*
* @see org.eclipse.persistence.internal.databaseaccess.BatchWritingMechanism
*/
public final class BatchWriting {
public static final String None = "None";
public static final String JDBC = "JDBC";
public static final String Buffered = "Buffered";
public static final String OracleJDBC = "Oracle-JDBC";
public static final String DEFAULT = None;
private BatchWriting() {
// no instance please
}
}