diff --git a/payapi/build.gradle b/payapi/build.gradle
index 60c843d..2f1eed1 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -1,5 +1,3 @@
-import java.text.SimpleDateFormat
-
 plugins {
     id "java"
     id "org.springframework.boot"
@@ -9,16 +7,19 @@
     id "com.palantir.docker"
 }
 
+apply plugin: 'io.spring.dependency-management'
+apply plugin: 'kotlin'
 
 def payapiStartClass = "com.supwisdom.dlpay.PayApiApplicationKt"
 
 println("Build version: $buildVersion")
 
 bootJar {
+    enabled = true
     mainClassName = payapiStartClass
     manifest {
         attributes("Payapi-Version": buildVersion,
-                "Payapi-Buildtime": new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()))
+                "Payapi-Buildtime": buildTime)
     }
 }
 
@@ -43,10 +44,10 @@
     } else {
         imageVersion = details.lastTag
     }
-    println("Docker image tag : " + imageVersion)
-    name "harbor.supwisdom.com/dali/payapi:" + imageVersion
-    println(jar.archiveFile.get().toString())
-    files jar.archiveFile
+    println("Docker image tag : ${imageVersion}")
+    name "${dockerRegistry}/payapi:${imageVersion}"
+    println(jar.archiveFile.get())
+    files jar.archiveFile.get()
 }
 
 docker.dependsOn(jar)
@@ -65,9 +66,9 @@
     implementation "org.springframework.boot:spring-boot-starter-thymeleaf"
     implementation "org.springframework.session:spring-session-data-redis"
     implementation "org.springframework.boot:spring-boot-starter-cache"
-    implementation "org.springframework.kafka:spring-kafka"
     implementation "org.springframework.social:spring-social-web:${springSocialVersion}"
-    implementation "org.springframework.kafka:spring-kafka:${springKafkaVersion}"
+    implementation "org.apache.kafka:kafka-streams"
+    implementation "org.springframework.kafka:spring-kafka"
 
     implementation "org.springframework.cloud:spring-cloud-starter"
     implementation "org.springframework.cloud:spring-cloud-starter-consul-discovery"
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java
index 90a3334..2bab4ef 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDepositCapitalType.java
@@ -10,6 +10,7 @@
 @SequenceGenerator(name = "deposit_capital_type_seq", initialValue = 50)
 public class TDepositCapitalType {
 
+  @Id
   @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "deposit_capital_type_seq")
   private Integer id;
 
@@ -27,8 +28,8 @@
 
   @OneToOne(targetEntity = TSourceType.class, fetch = LAZY, cascade = CascadeType.ALL)
   @JoinColumns({
-      @JoinColumn(name = "sourcetypecode", referencedColumnName = "SOURCETYPE"),
-      @JoinColumn(name = "tenantid", referencedColumnName = "tenantid")
+      @JoinColumn(name = "sourcetypecode", referencedColumnName = "SOURCETYPE", insertable = false, updatable = false),
+      @JoinColumn(name = "tenantid", referencedColumnName = "tenantid", insertable = false, updatable = false)
   })
   private TSourceType sourceType;
 
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java
index 820ba54..1593a8b 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java
@@ -2,8 +2,6 @@
 
 import com.supwisdom.dlpay.framework.util.MoneyUtil;
 import com.supwisdom.dlpay.framework.util.Signature;
-import org.hibernate.annotations.LazyToOne;
-import org.hibernate.annotations.LazyToOneOption;
 
 import javax.persistence.*;
 import javax.validation.constraints.NotNull;
@@ -53,8 +51,7 @@
   private String tenantId;
 
   @OneToOne(targetEntity = TShop.class, fetch = FetchType.LAZY, cascade = CascadeType.REFRESH)
-  @JoinColumn(name = "shopid", referencedColumnName = "shopid")
-  @LazyToOne(value = LazyToOneOption.NO_PROXY)
+  @JoinColumn(name = "shopid", referencedColumnName = "shopid", insertable = false, updatable = false)
   private TShop shop;
 
   public String getShopaccno() {
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
index d993aea..f16956f 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
@@ -44,7 +44,7 @@
     private lateinit var redis: RedisProperties
 
     @Bean
-    fun redisConnectionFactory(): RedisConnectionFactory {
+    fun redisConnectionFactory(): LettuceConnectionFactory {
         val clientConfig = LettuceClientConfiguration.builder()
                 .readFrom(ReadFrom.SLAVE_PREFERRED)
                 .build()
