我正在尝试一堆 kotlin - spring boot 2 - jpa 我草绘了一个简单的程序,但是当我开始初始化 JPA 存储库时出现错误。你做错了什么?帮助修复错误?之前没用过Springboot,想掌握一下。我不会在这个程序中使用网络,我回顾了很多网络示例,但我没有找到我的问题的答案。
2018-12-21 13:26:02.732 INFO 28188 --- [main] org.hibernate.dialect.Dialect:HHH000400:使用方言:org.hibernate.dialect.PostgreSQL95Dialect 2018-12-21 13:26:02.923 INFO 28188 --- [main] ohejeiLobCreatorBuilderImpl:HHH000421:禁用上下文 LOB 创建为 hibernate.jdbc.lob.non_contextual_creation 为 true 2018-12-21 13:26:02.929 INFO 28188 --- [main] org.hibernate.type.BasicTypeRegistry:HHH000270:类型注册 [java.util.UUID] 覆盖以前:org.hibernate.type.UUIDBinaryType@396ef8b2 2018-12-21 13:26:03.335 INFO 28188 --- [main] j.LocalContainerEntityManagerFactoryBean:为持久性单元“默认”初始化 JPA EntityManagerFactory 2018-12-21 13:26:04.150 INFO 28188 --- [main] rkvVkUsersSkillApplicationKt:在 4.348 秒内启动 VkUsersSkillApplicationKt(JVM 运行 4.905) 线程“主”kotlin.UninitializedPropertyAccessException 中的异常:lateinit 属性 vkUserRepository 尚未初始化 在 en.program.vkUsersSkill.VkUsersSkillApplicationKt.main(VkUsersSkillApplication.kt:17)
程序:
VkUser.kt
导入 javax.persistence.Column
导入 javax.persistence.Entity
导入 javax.persistence.Id
导入 javax.persistence.Table
@实体
@Table(name="vk_users")
数据类 VkUser(
@ID
@Column(name = "user_id")
var userId: Long = 0L,
@Column(name = "access_token")
var accessToken: String = "",
@Column(name = "别名")
var别名:字符串=“”,
@Column(name = "登录")
var登录:字符串=“”,
@Column(name = "密码")
var密码:字符串=“”
)
VkUserRepository.kt
导入 org.springframework.data.jpa.repository.JpaRepository 导入 org.springframework.stereotype.Repository 导入 ru.program.vkUsersSkill.models.VkUser @Repository 接口 VkUserRepository:JpaRepository
VkUsersSkillApplication.kt
导入 org.springframework.beans.factory.annotation.Autowired
导入 org.springframework.boot.autoconfigure.SpringBootApplication
导入 org.springframework.boot.runApplication
导入 en.program.vkUsersSkill.repositories.VkUserRepository
@自动连线
lateinit var vkUserRepository: VkUserRepository
@SpringBootApplication
类 VkUsersSkillApplication
有趣的主要(参数:数组){
运行应用程序(*args)
vkUserRepository.findAll()
}
我们创建一个启动 bin,我们将在其中运行所有内容。
然后我们将“应用程序上下文”放入一个变量中,然后获取我们的启动 bean 并使用 runHere 函数运行它的内容。
现在一切都正常启动了,在 Spring-Jpa 的帮助下,我们从数据库中获取数据。