ааа, да, пользовательский тип. Я бы подумал, что Grails или Hibernate позаботятся об этом для нас. В целом решение работает .. однако у grails / hibernate возникла проблема для отношений отношение к при использовании varbinary (16) в качестве первичного ключа для сущностей. Похоже, единственное решение - сначала создать схему базы данных вручную.
у использовать UUID для идентификатора для моих доменных объектов. Идея состоит в том, что UUID может быть предоставлен клиентом, и если не UUID будет сгенерирован. У меня есть определение как так:
class Person {
static mapping = {
id generator:'assigned'
}
String id
def getUUID ={
return java.util.UUID.randomUUID().toString();
}
transient beforeInsert = {
if ( id == null || id.equals(""))
id = getUUID();
}
}
Теперь, предполагая, что я удаляю дефисы, которые включены в java UUID или клиент, предоставляющий UUID, я хотел бы, чтобы это было сохранено в двоичном поле в моей базе данных MySQL. А также на поиск имеют правильный формат для отправки обратно.
Как я могу это сделать? Мысли о лучшем способе сделать это?