It depends. It is possible with a custom dialect overwriting the function resolver to return a Set. But AFAIK the driver does not support a set, so you need to convert it too. So there is no real advantage other than moving the converting into the query. If you really need to have a Set at db level, write a custom dialect. Otherwise just write an extension function and convert the tags by yourself at domain level.