Browse Source

修改对象jsonb写入

zhangweixin 4 years ago
parent
commit
2f6ad68429

+ 1 - 1
gradle.properties

@@ -31,7 +31,7 @@
 
 
 PERSAGY_URL = http://www.persagy.com/
-PERSAGY_KOTLIN_VERSION = 1.4.112
+PERSAGY_KOTLIN_VERSION = 1.4.114
 # android
 # SYBOTAN_KOTLIN_VERSION = 1.4.63
 

+ 1 - 0
persagy-kotlin-base/src/main/kotlin/com/persagy/base/extensions/SClassExtension.kt

@@ -91,6 +91,7 @@ fun Class<*>.isBaseType(): Boolean {
             Byte::class.java.isAssignableFrom(this) ||
             Short::class.java.isAssignableFrom(this) ||
             Int::class.java.isAssignableFrom(this) ||
+            Integer::class.java.isAssignableFrom(this) ||
             Long::class.java.isAssignableFrom(this) ||
             Float::class.java.isAssignableFrom(this) ||
             Double::class.java.isAssignableFrom(this) ||

+ 5 - 1
persagy-kotlin-postgresql/src/main/kotlin/com/persagy/postgresql/SPostgreSqlDriver.kt

@@ -70,7 +70,9 @@ class SPostgreSqlDriver : SAbstractDriver() {
                             VALUES(SSqlProvider.driver.escName(key), "'${value.toJsonAll().replace("'", "''")}'")
                         } else if (value is List<*>) {
                             VALUES(SSqlProvider.driver.escName(key), "'${value.toJsonAll().replace("'", "''")}'")
-                        } else {
+                        } else  if (value::class.java.isPrimitive){
+                            VALUES(SSqlProvider.driver.escName(key), "'${value.toJsonAll().replace("'", "''")}'")
+                        }else {
                             VALUES(SSqlProvider.driver.escName(key), SSqlProvider.driver.entityValue(entity, key))
                         }
 //                        if (value::class.java.isPrimitive) {
@@ -112,6 +114,8 @@ class SPostgreSqlDriver : SAbstractDriver() {
                     upSqlBuilder.append("${escName(key)} = '${value.toJsonAll().replace("'", "''")}'")
                 } else if (value is List<*>) {
                     upSqlBuilder.append("${escName(key)} = '${value.toJsonAll().replace("'", "''")}'")
+                } else if (value::class.java.isPrimitive){
+                    upSqlBuilder.append("${escName(key)} = '${value.toJsonAll().replace("'", "''")}'")
                 } else {
                     upSqlBuilder.append("${escName(key)} = #{entity.$key}")
                 }