hibernate-orm
hibernate-orm copied to clipboard
HHH-17404 : Add support of reading/writing from/to special source/target in FormatMapper
This PR brings code changes needed by HHH-17404. This adds the support of Oracle OSON (JSON binary format) to Hibernate allowing improved performance over JSON to String conversions.
Two new types are defined org.hibernate.dialect.OracleOsonJacksonJdbcType and org.hibernate.dialect.OracleOsonJacksonArrayJdbcType
The support of OSON is enabled by adding the Oracle JDBC extension jar as runtime dependency. New capabilities in FormatMapper interface have been added to support the serialization and deserialization from different sources (OSON bytes, JSON String representation ,etc..).
The entire hibernate-core test suite has been successfully run with and without the enablement of OSON. This has been done by adding/removing the Oracle JDBC extension in hibernate-testing project build file
runtimeOnly ('com.oracle.database.jdbc:ojdbc-provider-jackson-oson:1.0.4')
{
exclude group: 'com.oracle.database.jdbc', module: 'ojdbc8'
}
The hibernate.dialect.oracle.oson_format_disabled new dialect settings has been also tested. With that setting set to true in hibernate.properties file the extension is not used.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and can be relicensed under the terms of the LGPL v2.1 license in the future at the maintainers' discretion. For more information on licensing, please check here.
https://hibernate.atlassian.net/browse/HHH-17404 https://hibernate.atlassian.net/browse/HHH-14707
Thanks for your pull request!
This pull request appears to follow the contribution rules.
› This message was automatically generated.
Hey @ejannett @jeandelavarene , as discussed offline, there is now an AUTHORS.txt file. Could you please rebase, add Oracle to AUTHORS.txt, and remove any change to file headers (if any)?
We'll probably change/remove the headers at some point, but AFAIU this is not absolutely required for your contribution.
Thanks again for your work and your help.