Проблемы при использовании библиотеки Doob ie с Oracle и меткой времени - PullRequest
1 голос
/ 12 февраля 2020

Я пытаюсь использовать Doob ie с oracle, и у меня возникают проблемы с типом:

У меня есть таблица:

    create table TEST
(
  CREATED_ON  TIMESTAMP(6) not null,
  A           VARCHAR2(50) not null,
  B           VARCHAR2(50) not null,
  C           VARCHAR2(50) not null,
)

У меня есть класс case

import java.sql.Timestamp
case class Test(created_on: Timestamp, a:String, b:String, c:String)

Когда я пытаюсь скомпилировать, Doob ie жалуется на тип Timestamp. Если я изменяю тип на String, он компилируется, но вставки не выполняются. В соответствии с документацией должна поддерживаться метка времени: https://tpolecat.github.io/doobie/docs/12-Custom-Mappings.html

Может ли это быть что-то конкретное c до Oracle?

Error:(36, 13) Cannot find or construct a Read instance for type:
  com.juliusbaer.quant.analytics.persistency.Test
This can happen for a few reasons, but the most common case is that a data
member somewhere within this type doesn't have a Get instance in scope. Here are
some debugging hints:
- For Option types, ensure that a Read instance is in scope for the non-Option
  version.
- For types you expect to map to a single column ensure that a Get instance is
  in scope.
- For case classes, HLists, and shapeless records ensure that each element
  has a Read instance in scope.
- Lather, rinse, repeat, recursively until you find the problematic bit.
You can check that an instance exists for Read in the REPL or in your code:
  scala> Read[Foo]
and similarly with Get:
  scala> Get[Foo]
And find the missing instance and construct it as needed. Refer to Chapter 12
of the book of doobie for more information.
      .query[Test]
...