- Switch to Caffeine for caching since it is supported on native unlike Ehcache
- Use latest metadata repository 0.2.3 (will be the default with Native Build Tools 0.9.15)
- Registers resource hints for WebJars and db resource directory
Make sure we use the suggested fragment inclusion syntax. Use th:insert instead of th:include. Use simpler URI path segment templating to avoid duplication of expressions.
Avoid trailing slashes in URIs creates as upcoming Spring Boot versions will not map the trailing slash flavors of defined URI mappings.
In order to improve efficiency (see spring-projects/spring-framework#27619)
and allow native image compatibility, this commit uses WebJars versioned URLs
which are supported out of the box on Spring Boot via /META-INF/resources
default resource location configuration, removing the need to use
webjars-locator-core dependency and WebJarsResourceResolver.
I have been able to measure a consistent 5% startup time improvement on
the JVM with that simple change on my local machine.
Open session in view was switched off accidentally a while ago. Also
the mapping changes recently meant that the changes to @Valid model
attributes were not being propagated correctly.
Fixes#946 and #947
This is reverting a workaround for a Hibernate "feature". There's
no need for the child entities (Pet and Visit) to know about their
parent (foreign key). Hibernate can manage that just fine with a
@JoinColumn. But it needs a nullable foreign key column in the
DB schema. That's the downside. The upside is much less code in
Java.
The postgres user needs to be an owner of the public schema or a
superuser in order to execute the schema.sql for database
initialization.
To avoid that, two changes are required:
- use `CREATE TABLE IF NOT EXISTS` in order to idempotently create the
necessary tables
- handle conflicts when inserting duplicate data
This follows the pattern in use by the
src/main/resources/db/mysql/{data,schema.sql} files.
Authored-by: Shaan Sapra <shsapra@vmware.com>