We now return Optional<T> instead of T for findOne(Specification) to align the return type to the ones used in CrudRepository.
Original pull request: #203.
The settings.xml at travis-ci contains references to codehaus.org which doesn't exist anymore. Therefore we remove it during setup of the build.
Original pull request: #198.
Upgrade main version to Eclipselink 2.6.4 and eclipselink-next buildprofile to Eclipselink 2.6.5-SNAPSHOT. The snapshot referenced in the profile eclipselink-next isn't available anymore.
Original pull request: #198.
Extracted QueryHints and DefaultQueryHints into dedicated files (still package scope). Removed handling of optional CrudMethodMetadata in favour of a null object implementation of QueryHints.
Original pull request: #196.
We now make sure to apply query hints also to count queries created via Querydsl Predicates but avoid applying potential fetch graphs.
Original pull request: #196.
Formatting and generic types over raw types in Jpa21Utils. Removed superfluous EntityManager.flush() and ….clear() from EntityGraphRepositoryMethodsIntegrationTests. Formatting, spelling.
Original pull request: #192.
We now make sure to append instead of recreate subgraphs correctly when AttributeNodes already exist for a given property or dot path. This change fixes errors when creating ad hoc fetch graphs like below where multiple properties are loaded via a subgraph on the same type.
@EntityGraph(attributePaths = { "colleagues.roles", "colleagues.colleagues" })
Previously the first path was accidentally dropped. Additionally we fixed issues with the creation of "deep" ad hoc fetch graphs via @EntityGraph so that
@EntityGraph(attributePaths = { "roles", "colleagues.roles", "colleagues.colleagues.roles" })
can be used as a short form of
@NamedEntityGraph(name = "User.deepGraph",
attributeNodes = {
@NamedAttributeNode("roles"),
@NamedAttributeNode(value="colleagues", subgraph = "User.colleagues")
},
subgraphs = {
@NamedSubgraph(name = "User.colleagues", attributeNodes = {
@NamedAttributeNode("roles"),
@NamedAttributeNode(value = "colleagues", subgraph = "User.colleaguesOfColleagues")
}),
@NamedSubgraph(name="User.colleaguesOfColleagues", attributeNodes = {
@NamedAttributeNode("roles"),
})
})
})
We had to disable EclipseLink tests for this one since there seems to be a glitch when calling EntityManager.clear() prior to applying the fetch-/loadgraph causing the properties not to be in the correct load state. Omitting EntityManager.clear() is not an option since the load state is always LOADED even when leaving out query hints.
Related issue: DATAJPA-1041.
Original pull request: #192.
Related pull request: #188.
Removed build profiles for older Hibernate versions, Travis build setup for those. Removed reflection based code paths to support older versions of Hibernate.
Removed build profiles for Spring 5 and 4.3 as well.