Version, a new build of Versant JPA SDK, is now available for download! Version of the SDK is suited to work with Versant JPA Server


Check out below the list of features and improvements.


Note: As of build 1360, the versantjpa-1.0.jar has an additional dependency on the library slf4j-api-1.7.2.jar


Stay tuned for the next release on December 21!


Release notes for Versant JPA SDK 

New features/improvements:
- #1187, #1936: Improved internal Exceptions. Better message output and 
         cause-of-error descriptions.  
- #1817: Static Logging: first implementation for logging of the EntityManagerFactory 
         start-up with SLF4J
         (note: there will be additional logging added in future builds)         
- #1912, #1918: Improved Exception handling. Whenever possible, JPA standard 
         exceptions are thrown and whenever possible all internal exceptions 
         are wrapped to PersistenceExceptions.
         Be aware, that in some cases, you might get different exceptions now!

- #1891: MappedSuperclass can now be defined in the persistence unit (persistence.xml)
- #1917: Loose schema: Add/Remove of superclass does not work
- #1987: The tutorials build.xml file now uses the correct agent file name
- #1995, #2002: minor documentation improvements
- #2021: The runtime enhancer java agent leaks classloaders
- #2022: If a JVM uses concurrent class loading (calling the runtime enhancer 
         agent concurrently, as well), under some circumstances internal agent 
         data will be corrupted and enhancing will fail.
- #2024: EntityListeners are now supported in JBoss AS environment
- #2025: Projection query rows with date types are now returned in the correct 
         type rather than always as java.util.Date
- #2030: JPQL: Accept truncated fractional seconds component in timestamp literals

Known Issues:
- #1151: queries using an IN expression on indexed strings are currently not 
- #1153: querying for empty strings in an IN expression is currently not 
         supported; example:
           "select obj from myEntity obj where obj.member in ('Foo', '')"
- #1154: multiple projections of the same entity class and/or its Id 
         attribute are currently not supported; examples:
           "select obj, obj from myEntity obj",
           "select obj, obj.loid from myEntity obj"
- #1310: Versant JPA allows mixing PROPERTY and FIELD access types in 
         Entities. However, keep the warning from the JPA 2.0 Specification 
         in mind: 
         "Note that when access types are combined within a class, the 
         Transient annotation should be used to avoid duplicate persistent 
         Duplicates are not automatically detected and prohibited.
         Here is an example how you should not mix:
            public class EntityItemWithDuplicateAttribute {
                transient public int backingValue;
                public int getValue() { return backingValue; }
                public void setValue(int v) { this.backingValue = v; }

                public int value;
         Adding a @Transient annotation to getValue() or renaming the 
         getter/setter methods of the Property would solve this conflict.
- #1315: when adding a new field to a class and in the same transaction the
         new field is added to an existing index, the old index might not be 
- #1529: query for null string members is currently not supported
- #1530: query for empty string members will also match null 
- #1532: queries for Infinity and NegativeInfinity values are currently not 
- #1787: objects larger than 127 MB are currently not supported
- #1815: the space character in database connection user names is currently
         not supported
- #1824: Under some rare circumstances online schema modifications are not 
         propagated to the user transaction
- #1909: VersantEntityManagerImpl#lock() should throw EntityNotFoundException
         if entity could not be found in the database
- #1934: In expression with input param over indexed string attributes yields 
         empty/wrong result
- #2016: serializing an entity attribute which is a collection only works if 
         the owning entity is serializable as well
- #2020: Entities that implement the Collection interface cannot be refreshed 
         with VersantEntityManager.refresh(Collection)
- #2034: JBoss XA recovery polling is leaking connections 


Release of the Versant JPA SDK also contains the following changes to the Analytics Platform technical preview:


New Features/improvements:
- The Analytics Server now internally uses cursor queries to allow faster analyses
- Documentation has been updated with a new overview graphic
- custom_data_workflow_example now contains a sample R script

- The Analytics Server now logs an error if the result is not Serializable
- The Analytics Server now rejects configurations with non-unique route names
- The Ingestion Server CPU usage while idle has been reduced
- To facilitate metrics monitoring, the Ingestion Server now names processor elements
- The README file in the Hadoop Connector example now contains the correct maven
command for installing the Hadoop Connector