- Partial support for SPARQL result set mapping - VariableResult and ConstructorResult (Feature #7).
- Fixed issue with class discovery in JDK 9 (Bug #8, thanks to Yan Doroshenko).
- Log executed query to provide more auditing info.
- Support for credentials specification for accessing remote RDF4J repositories.
- Reworked instance persist to prevent saving pending references before the target instances are saved. This also fixes the problem of prematurely generated IDs.
- Reworked merge to have semantics more corresponding to JPA.
- Allow descriptor specification for TypedQuery results. This allows context to be specified for these results. It also replaces the original possibility of setting context for query, which did not work anyway.
- Added support for language tag specification of String attributes.
- Fixed issue with handling cascading cycles (Bug #4).
- Fixed issue with parsing queries without spaces after variables (Bug #6).
- Fixed issue with loading unmapped properties in Sesame driver.
- Added support for namespace specification.
- Added support for generating subclasses in OWL2Java.
- Improved handling of query result sets.
- Fixed issue with loading classes containing 'class' in name (Bug #5).
- Implemented support for
EntityListener
s. - Escape string parameters in SPARQL native queries.
- Fixed issue with mapped superclass referencing its descendants (Bug #3).
- Fixed issue with cloning content of singleton collections elements.
- Upgraded Sesame driver from Sesame API 2.8.9 to RDF4J 2.2.
- Mark transaction for rollback when exception is thrown in persistence context-related operations.
- Fixed issue with merge overwriting values of references in managed objects (Bug #2).
- Aligned merge implementation with the JPA specification semantics.
- Fixed issue in which second level cache was being bypassed by instances loaded from repository.
- Create default collection instance (currently
ArrayList
,HashSet
) when unable to clone the specified instance. - Minor performance improvements.
- Internal entity lifecycle callbacks support (Lifecycle callback methods declared directly in entity classes).
- Fixed major memory leak in persistence context management.
- Support for single inheritance.
- Added support for datatype property collections in entities.
- Added support for
Query.executeUpdate
, which executes SPARQL Update statements on the repository. (This feature is not supported by OWL2Query, so it only applies to Sesame-backed applications.)
- Fixed issue with merging changes into collections which do not support the
clear
operation (e.g. singleton collections).
- Upgraded to OWL API 4.2.4 - it fixes issues with missing import statements after ontology copy,
- Changed the way transactional snapshot are created in the OWL API driver.
- Refactored metamodel as a preparation for inheritance implementation. Use AspectJ 1.8.9.
- Added support for named native queries. Declaration is similar to JPA, just use
@NamedNativeQuery
or@NamedNativeQueries
on an entity or its mapped superclass and the query will be available in the persistence unit.
- Consistent handling of instances with the same identifier (i.e. the same individual). Only single instance with a given identifier is allowed in one persistence context. But, persisting the same individual as instance of different classes in different persistence contexts is possible.
- Major improvement of instance loading in the Sesame driver
- Fixed bug in
CollectionChangeDetector
, which caused identical collection to behave as different (issue with element ordering)
- More efficient handling of repository connections in the Sesame driver
- Added support for Mapped superclass (
@MappedSuperclass
annotation) - Do not allow non-entities in
EntityManager
operations (e.g.persist
,find
) - conforms to JPA
- Fixed issue with updating value in context,
- Verify integrity constraints on merge
- Generation of Vocabularies improvements - individuals, whole file processing.
- Added support for URI-based types, i.e. now it is possible to use
@Types Set<URI> types
in entities
- Fixed issue with running multiple persistence units in the same VM.
- Implemented support for
EntityManager.unwrap
. Using unwrap, it is possible to get a hold of for example the Sesame in-memory repository used by the Sesame driver (which is otherwise, due to the Sesame API architecture, inaccessible through theRepositoryProvider
.
- Added the possibility to generate only vocabulary using OWL2Java, without the Java object model itself.
- Added support for plain identifiers as values of Annotation and Object properties
- E.g. when an entity has an object property pointing to another individual, but that individual is not mapped by any class in the object model, its URI can now be used as the property value
- Use xsd:int for mapping Java Integer/int values to RDF. Most Java implementations (including JAXB) do it this way.
- Implemented support for typed @Properties fields (i.e. @Properties field can now be a
Map<URI, Set<Object>>
, where values have corresponding types instead of plain strings)