Я пытаюсь использовать 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]