diff options
author | James Moger <james.moger@gitblit.com> | 2014-11-07 09:28:57 -0500 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-11-09 11:15:14 -0500 |
commit | db0d58c22a0bd4fa2baf023428599757aa4db381 (patch) | |
tree | 9199c08f6b4c4eb217cf6ebb732d8ce5d9856a46 /src/main/java/com/iciql/SQLDialectPostgreSQL.java | |
parent | 468775706732f3e85af878710aaf95c81f5b60f2 (diff) | |
download | iciql-db0d58c22a0bd4fa2baf023428599757aa4db381.tar.gz iciql-db0d58c22a0bd4fa2baf023428599757aa4db381.zip |
Revise type adapter definition to be a separate annotation
Diffstat (limited to 'src/main/java/com/iciql/SQLDialectPostgreSQL.java')
-rw-r--r-- | src/main/java/com/iciql/SQLDialectPostgreSQL.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/com/iciql/SQLDialectPostgreSQL.java b/src/main/java/com/iciql/SQLDialectPostgreSQL.java index b5ac5c3..f10017c 100644 --- a/src/main/java/com/iciql/SQLDialectPostgreSQL.java +++ b/src/main/java/com/iciql/SQLDialectPostgreSQL.java @@ -140,6 +140,39 @@ public class SQLDialectPostgreSQL extends SQLDialectDefault { }
/**
+ * Handles transforming raw strings to/from the Postgres JSONB data type.
+ */
+ public class JsonbStringAdapter implements DataTypeAdapter<String> {
+
+ @Override
+ public String getDataType() {
+ return "jsonb";
+ }
+
+ @Override
+ public Class<String> getJavaType() {
+ return String.class;
+ }
+
+ @Override
+ public Object serialize(String value) {
+ PGobject pg = new PGobject();
+ pg.setType(getDataType());
+ try {
+ pg.setValue(value);
+ } catch (SQLException e) {
+ // not thrown on base PGobject
+ }
+ return pg;
+ }
+
+ @Override
+ public String deserialize(Object value) {
+ return value.toString();
+ }
+ }
+
+ /**
* Handles transforming raw strings to/from the Postgres XML data type.
*/
public class XmlStringAdapter implements DataTypeAdapter<String> {
|