Dengan mengikuti pertanyaan ini dan juga solusinya , saya masih belum bisa menyelesaikan masalahnya. Saya masih mendapatkan "Data terlalu panjang untuk kolom 'id' di baris 1"
public static byte[] asBytes(UUID uuid) {
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}
UUID id= UUID.randomUUID();
InsertQueryBuilder runner = new InsertQueryBuilder("test_table")
.addField("id", asBytes(id));
return getConnection()
.flatMap(connection -> runner.run(connection)
.doOnTerminate(connection::close))
Dari jawaban itu saya mengerti bahwa 16 byte adalah 32 digit hex. Jadi jika saya mengubah tipe kolom menjadi BINARY (32), maka saya tidak mendapatkan kesalahan apa pun dan id berhasil ditulis di DB.
Saya mencoba menjaga ukuran bb ByteBuffer menjadi 8, tapi kemudian saya mengerti;
Pengecualian BufferOverflow
Apa yang saya lewatkan?
long
- person Adriano Repetti   schedule 21.05.2018