Hexagonal MVVM Example of applying hexagonal or "clean" architecture principles using ZK (MVVM) framework. See this article for detailed discussion related to this implementation. References The Clean Architecture Spring Boot With H2 Database Accessing Data with JPA Orika User Guide How to generate primary keys with JPA and Hibernate Spring FactoryBean method with arguments Mockito and JUnit 5 – Using ExtendWith JUnit 5 expected exception – assertThrows() example