Module eclipselink
Class Oracle21JsonPlatform
- java.lang.Object
-
- org.eclipse.persistence.json.JsonPlatform
-
- org.eclipse.persistence.platform.database.oracle.json.Oracle21JsonPlatform
-
- All Implemented Interfaces:
org.eclipse.persistence.internal.databaseaccess.DatabaseJsonPlatform
public class Oracle21JsonPlatform extends org.eclipse.persistence.json.JsonPlatform
Oracle 21c JSON database platform.
-
-
Constructor Summary
Constructors Constructor Description Oracle21JsonPlatform()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description jakarta.json.JsonValue
convertDataValueToJsonValue(Object jdbcValue)
INTERNAL: Convert JDBCResultSet
type to JSON value field.<T> T
convertJsonValueToDataValue(jakarta.json.JsonValue jsonValue)
INTERNAL: Convert JSON value field to JDBC statement type.<T> T
getJsonDataFromResultSet(ResultSet resultSet, int columnNumber, Class<T> type)
Retrieve JSON data from JDBCResultSet
.void
updateClassTypes(Map<String,Class<?>> classTypeMapping)
Update the mapping of Oracle 21c database types to class types for the schema framework.void
updateFieldTypes(Hashtable<Class<?>,org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition> fieldTypeMapping)
Update the mapping of JSON class types to Oracle 21c database types for the schema framework.
-
-
-
Method Detail
-
updateClassTypes
public void updateClassTypes(Map<String,Class<?>> classTypeMapping)
Update the mapping of Oracle 21c database types to class types for the schema framework.- Parameters:
classTypeMapping
-Map
with mappings to be updated.
-
updateFieldTypes
public void updateFieldTypes(Hashtable<Class<?>,org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition> fieldTypeMapping)
Update the mapping of JSON class types to Oracle 21c database types for the schema framework.- Specified by:
updateFieldTypes
in interfaceorg.eclipse.persistence.internal.databaseaccess.DatabaseJsonPlatform
- Overrides:
updateFieldTypes
in classorg.eclipse.persistence.json.JsonPlatform
- Parameters:
fieldTypeMapping
-Map
with mappings to be updated.
-
convertJsonValueToDataValue
public <T> T convertJsonValueToDataValue(jakarta.json.JsonValue jsonValue) throws jakarta.persistence.PersistenceException
INTERNAL: Convert JSON value field to JDBC statement type. Postgres JSON storage type isJSONB
and target Java type isPGobject
.- Overrides:
convertJsonValueToDataValue
in classorg.eclipse.persistence.json.JsonPlatform
- Type Parameters:
T
- classification type- Parameters:
jsonValue
- source JSON value field- Returns:
- converted JDBC statement type
- Throws:
jakarta.persistence.PersistenceException
-
convertDataValueToJsonValue
public jakarta.json.JsonValue convertDataValueToJsonValue(Object jdbcValue)
INTERNAL: Convert JDBCResultSet
type to JSON value field.- Overrides:
convertDataValueToJsonValue
in classorg.eclipse.persistence.json.JsonPlatform
- Parameters:
jdbcValue
- source classification type value from JDBC- Returns:
- converted JSON field value
-
getJsonDataFromResultSet
public <T> T getJsonDataFromResultSet(ResultSet resultSet, int columnNumber, Class<T> type) throws SQLException
Retrieve JSON data from JDBCResultSet
. JSON data retrieved from Postgres JDBCResultSet
are returned asOracleJsonValue
instance.JsonTypeConverter
will convertOracleJsonValue
toJsonValue
.- Type Parameters:
T
- target type to return- Parameters:
resultSet
- source JDBCResultSet
columnNumber
- index of column in JDBCResultSet
type
- target class to return, this class will be used to cast returned value- Returns:
- JSON data from JDBC
ResultSet
asString
to be parsed by commonJsonTypeConverter
- Throws:
SQLException
- if data could not be retrieved
-
-