Using the entity model from Tribe KRD, cleaning it up so it will work in a modern Hibernate and Quarkus application and relicensing it to Apache-2.0, this project is an ideal candidate to benchmark Hibernate startup times using an actual business model.
The original Tribe KRD project was part of the acquisition of Eduarte by Topicus, so all rights to this project were transferred to Topicus Onderwijs Eduarte B.V., allowing us to relincense the project to Apache-2.0.
It features 300+ entities that are linked together. It models part of a student information system for Dutch trade schools (or vocational colleges).
This project doesn't feature any services or implementations, but merely uses the entity model for benchmarking quarkus startup times using a realistic entity model.
Copyright 2022 Topicus Onderwijs Eduarte B.V.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
[http://www.apache.org/licenses/LICENSE-2.0][apache]
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
As this is a normal quarkus project, you can find the configuration in
src/main/resources/application.properties
By default it is configured to use an in-memory H2 database.
Use mvn quarkus:dev
to start up the server and direct your browser
to http://localhost:8080/hello to retrieve
the hello message.
When you change the code in org.acme.GreetingResource
and refresh the
browser window, Quarkus should restart the application and load the Hibernate
model anew. As this is a medium sized entity model (300+ entities) restarts
will be noticable (unless the Hibernate devs are able to enhance startup times
further).
On my machine a reload takes about 4 seconds.