Плагин build-test-data использует ограничения / валидацию grails (особенно "nullable: false") и реляционные свойства (ownTo, hasMany и т. Д.) Для обхода графика зависимостей и построения наименьшего набора «требуемых» объектов и свойств для объекта, который вы пытаетесь построить. Эти метаданные действительно то, что позволяет BTD автоматически создавать правильный график.
Вы правы, что это не работает для обычных DTO, потому что они не соответствуют этим соглашениям.
Если ваши DTO - просто POJO / POGO, вам, вероятно, лучше всего подходит какой-то Builder Pattern . Этот пост от Nat Price вдохновил меня на написание build-test-data, и план, который он обрисовал, все еще действителен для объектов, которые не соответствуют соглашениям, которые делают объекты GORM.