通过完全遵循this问题和解决方案,我仍然无法解决问题。我仍然得到"列数' id'数据太长在第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))
根据该答案我理解16个字节是32个十六进制数字。因此,如果我将列类型更改为BINARY(32),那么我不会得到任何错误,并且ID会在DB中成功写入。
我试图将ByteBuffer bb大小保持为8,但后来我得到了;
BufferOverflowException
我错过了什么?