Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como recuperar o java UUID armazenado no banco de dados como binário


Acho que você pode converter sua string UUID em um UUID genuíno objeto através do UUID#fromString() método. Em seguida, você pode comparar os campos de bits menos e mais significativos dos dois UUID que você possui:
boolean UUIDIsEqual(UUID one, String twoInput) {
    UUID two = UUID.fromString(twoInput);
    if (one.getLeastSignificantBits() == two.getLeastSignificantBits() &&
        one.getMostSignificantBits() == two.getMostSignificantBits()) {
        return true;
    }

    return false;
}

Se, em vez de ter um UUID para a referência você tem uma matriz de bytes, então você pode usar o toUUID() método que você já tem para converter a string em um UUID.

Siga o link abaixo para uma demonstração mostrando que a conversão de string para UUID funciona e está logicamente correta:

Demonstração