Иногда бывает неприятно, когда функции имеют такую сигнатуру:
fun doStuff(firstKey: UUID, secondKey: UUID, ...)
Для компилятора все UUID одинаковы, поэтому, надеюсь, проблема обнаруживается базой данных во время выполнения.
Мне нравится, как jOOQ выявляет множество проблем во время компиляции, и я хотел бы заняться этим тоже. Моя цель состоит в том, чтобы для каждого ключа каждой таблицы был свой собственный класс, а также правильно генерировать pojos с этими полями.
Как лучше всего этого добиться? Я придумал следующее:
- Полноценная реализация
JavaGenerator
Converters
с множеством принудительных сопоставлений типов и вручную созданными ключевыми классами
У кого-нибудь есть опыт в подобном?