Получить строку из функции SQL, без сущности, kotlin - PullRequest
0 голосов
/ 15 апреля 2020

Я в замешательстве .. Мне нужно использовать функцию 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 либо, могу ли я?

РЕДАКТИРОВАТЬ: пытаясь уточнить, что мне нужно: У объекта есть два атрибута, только один приходит из запроса, включая функцию, другой должен быть получен из другая сторона мира. Как мне выполнить этот запрос и вернуть либо единственную строку, либо сущность (с адресом электронной почты, равной нулю), только получивший массив ошибок, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...