我有以下代碼:
package com.example.demo
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.data.jpa.repository.Query
import org.springframework.data.repository.CrudRepository
import org.springframework.stereotype.Repository
import org.springframework.stereotype.Service
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RestController
import javax.persistence.Entity
import javax.persistence.Id
import javax.persistence.Table
@SpringBootApplication
class DemoApplication
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}
@RestController
class MessageResource(var service: MessageService) {
@GetMapping
fun index(): List<Message> = service.findMessagesInDB()
@PostMapping
fun post(@RequestBody message: Message) {
service.addMessageToDB(message)
}
}
@Service
class MessageService(val db : MessageRepository) {
fun findMessagesInDB(): List<Message> = db.findMessages()
fun addMessageToDB(message: Message){
db.save(message)
}
}
@Repository
interface MessageRepository : CrudRepository<Message, String> {
@Query("select * from messages")
fun findMessages(): List<Message>
}
@Table(name ="MESSAGES")
@Entity
data class Message(@Id val id: String?, val text: String)
我收到以下錯誤。我想不通為什么。
java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.example.demo.MessageRepository.findMessages()!
有人可以幫我嗎?我跟著這個 kotlin-Spring 教程:https ://kotlinlang.org/docs/jvm-spring-boot-restful.html#add-database-support
uj5u.com熱心網友回復:
在我看來nativeQuery = true,您的@Query. 請嘗試以下操作:
@Repository
interface MessageRepository : CrudRepository<Message, String> {
@Query(value = "select * from messages", nativeQuery = true)
fun findMessages(): List<Message>
}
此外,這個自定義@Query方法似乎沒有必要,因為CrudRepository有一個方法 ( findAll()) 可以做到這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/312853.html
上一篇:型別推斷失敗。MutableMap<Class<outAbsViewModel>,Provider<AbsViewModel>>
