Для создания ваших сложных данных и, в то же время, для скрытия сложных настроек, мой совет - использовать шаблон компоновщика, который описан здесь Он позволяет создавать такие вещи, как
Person person = PersonBuilder.validPerson()
.withAddress(AddressBuider.validAddress())
.build();
О совместимости h2 и db2. Современная книга POJO в действии гласит:
Одной из проблем при использовании базы данных в памяти является обеспечение того, чтобы ее схема была идентична схеме производственной базы данных. Это не проблема, если платформа ORM генерирует схему базы данных. Однако , если схема производственной базы данных поддерживается отдельно , то ее определение может быть несовместимо с базой данных в памяти. Он мог бы, например, использовать специфичные для поставщика типы данных и другие функции. Чтобы использовать базу данных в памяти, вам нужно будет использовать другое определение схемы или сгенерировать ее схему из ORM . В любом случае нет никакой гарантии, что база данных в памяти имеет ту же схему, что и производственная база данных.
Несмотря на то, что ваш вопрос связан с гиперзвуком, H2 функции включают в себя
- Режимы совместимости для IBM DB2 , Apache Derby, HSQLDB, MS SQL Server, MySQL, Oracle и PostgreSQL.
Может быть, это может решить, что вы хотите. Попробуй.
Разностные подходы могут использоваться для заполнения данных, необходимых для тестирования. Полезное руководство объясняется шаблонами установки приборов XUnit .
Другие инструменты, которые могут вам помочь