Я в замешательстве .. Мне нужно использовать функцию Oracle, чтобы получить только одну строку, без сущности.
Так что я пытаюсь использовать CrudRepository, но эта работа работает без сущности?
interface UserRepository : CrudRepository<Contact, String>{
@Query(nativeQuery = true, value = "SELECT schema.get_user(:id) FROM DUAL")
fun getUser(id: String): String?
}
или
interface UserRepository : CrudRepository<Contact, String>{
@Query(nativeQuery = true, value = "SELECT schema.get_user(:id) AS name, '' AS email FROM DUAL")
fun getUser(id: String): String?
}
, где я пытаюсь назвать возвращаемую строку, чтобы соответствовать сущности, которую я, похоже, вынужден использовать.
Контакт сущности - это супер простая сущность с двумя атрибутами.
@Entity
data class Contact(
@Id
val name: String?,
val email: String?
)
Функция будет когда-либо возвращать только одну строку , но я не могу понять, как мне вставить это как имя ... С этим запросом я получаю ORA-00904: : invalid identifier
, скорее всего, потому что я понятия не имею, как сопоставить идентификатор, возвращаемый из функции .. (SQLdeveloper дает имя функции в качестве имени столбца, но возвращаемая строка не имеет ЛЮБОГО имени столбца, так как оно вычисляется ...)
Я не могу создать хранилище для String
либо, могу ли я?
РЕДАКТИРОВАТЬ: пытаясь уточнить, что мне нужно: У объекта есть два атрибута, только один приходит из запроса, включая функцию, другой должен быть получен из другая сторона мира. Как мне выполнить этот запрос и вернуть либо единственную строку, либо сущность (с адресом электронной почты, равной нулю), только получивший массив ошибок, спасибо