Apache OpenJPA se presenta en dos ramas separadas, cada material nivel de producción.
Las diferencias entre los dos son las normas que implementan. La rama 1.x sigue la Beans JSR-220 Enterprise Java 3.0 specificationm mientras que la rama 2.x fue modelado después de la especificación JSR-317 Java Persistence 2.0.
OpenJPA trabaja fuera de la caja como una capa de persistencia para aplicaciones de primavera y Tomcat, pero los desarrolladores también se puede construir como una biblioteca de Java independiente, incluso trabajando en medios no-Java EE.
Un proyecto de persistencia Java que puede ser utilizado como una capa de persistencia POJO independiente o integrado en cualquier contenedor compatible con Java EE y muchos otros marcos ligeros.
¿Qué hay de nuevo en este comunicado :
- Actualizar a ASM 4 dependencia
- Acelerar las operaciones de búsqueda de metadatos consulta li>
- opción de excluir nombre de esquema de anotaciónTable generado para entidades generadas Proporcionar
¿Cuál es nuevo en la versión 2.3.0 / 1.2.3:
- Actualizar a ASM 4 dependencia
- Acelerar las operaciones de búsqueda de metadatos consulta li>
- opción de excluir nombre de esquema de anotaciónTable generado para entidades generadas Proporcionar
¿Qué hay de nuevo en la versión 2.1.0:
- Errores solucionados:
- ConcurrentModificationException en org.apache.openjpa.kernel.BrokerImpl
- Insertar texto de más de 4K bytes a la columna Clob causa SQLException: Agotado conjunto de resultados
- ConcurrentModificationException con clase entidad auto-referencia, cuando no se está ejecutando el potenciador
- Generación de identificadores usando tabla de secuencia puede fallar durante la inicialización tabla de secuencia
- Fuera de límites excepción usando podido recuperar el plan
- JPQL falla con Agrupar por y Tener aggregate_expression IN (subconsulta)
- errores de sintaxis SQL-con h2
- ORDER BY anexará columna adicional a la cláusula SELECT que puede potentialy causa ORA-00979 error
- Informix excepciones de bloqueo no se asignan correctamente OpenJPA
- Typos de tipo de datos de tiempo en SQLServerdictionary para MSSQL 2008
- Mejoras:
- OpenJPA no significativa aplicar JDBC3, métodos JDBC4 en sus delegados
- Proporcionar apoyo en Inglés para SolidDB
- Actualizar a últimas commons-lang para los metadatos OSGi requerida
- Proporcione opción LRU para la caché de datos L2
- validación de parámetros Mejor en el método StoreCache.pinAll ()
- Mapeo de un tipo no soportado
- Actualizar a la última Geronimo Especificaciones para JPA2 y Bean Validación
- Use fuentes de datos gestionadas por contenedor como Slice
- procesamiento propiedad Refactor para la configuración de la rebanada distribuido
- docs Actualización MetaDataRepository
- Soporte Streaming Lob en DB2
- Use FindBugs para reducir los errores de codificación
- Nuevas características:
- muestra Bean Validation
- Añadir una interfaz de la política de focalización consultas al subconjunto de rodajas
- Añadir una interfaz de la política de focalización del buscador a un subconjunto de rodajas
- Producir ejemplo JPA Bean Validation y la documentación correspondiente
- Añadir soporte para DATETIME2 con MS SQL Server
- ejemplo Nueva OpenTrader
- Soporte MaxDB
- Tareas:
- Actualizar a la última JPA 2.0 TCK
- Soporte gota JDK5 comenzando con OpenJPA 2.1
- Pruebas:
- ¿Necesita Consulta cubo de prueba del motor
- Pruebas simple openjpa-xmlstore
- Añadir soporte para probar con el proveedor de Apache Bean Validation
- CachedEntityStatistics dependeGeneratedValue que no es compatible en Oracle por defecto
- Actualizar openjpa-integración-daytrader para realizar tareas de usuario
- testExternalValues fracasaron con ORA-01438 excepción de Oracle
- Fijar 2 casos de prueba que causan fallas en DB2 9.7
¿Qué hay de nuevo en la versión 2.0.0:
- Corrección de errores:
- ReverseMappingTool falla por-ejemplos OpenJPA / reversemapping muestra
- correcciones Documentación
- Cuando batchLimit = -1 o & # X3e;. 1 y una excepción se produce, los parametros y failedObject faltan de la excepción resultante
- inicialización DataCacheManager no es seguro para subprocesos.
- Strategy desencadena una InvalidStateException para los campos que se declaran como interfaces Java
- ¿Necesita Compatibilidad establecer nuevos servidores proxy-openjpa 1097 y DetachedStateField comportamiento
- propiedades del modo de caché pasa a em.find y los métodos de bloqueo no son transitorios
- Consulta con el modo de bloqueo se establece en PESSIMISTIC_WRITE no tiene cláusula de actualización adjunta al sql cuando se ejecuta dos veces
- Configuración PessimisticLockManager no anexe & quot; para la actualización cláusula de & quot; a la sentencia select
- ReverseMappingTool (SchemaGenerator) error
- PESSIMISTIC_WRITE no está funcionando en Informix
- PessimisticLockException lugar de LockTimeoutException tirado en DB2V9 para ZOS
- PersistentAttributeType Wrong devueltos para tiposEmbedded
- Excepción durante la creación de la fábrica debido a javax.persistence.transactionType
- Creación inconsistente de StateManagerImpl en BrokerImpl
- NPE en MetaDataRepository cuando precarga está habilitado bajo cargas pesadas.
- precarga MetaDataRepository no carga JAXB metadatos
- Mejoras:
- Haga org.apache.openjpa.persistence.meta.AnnotationProcessor6 como servicio
- Añadir nuevo procesamiento Separar
- Disociar el QueryCache del DataCache
- Invocar generador metamodelo
- Control de salida para generada código fuente metamodelo canónica
- Pruebas:
- Error de la prueba intermitente en org.apache.openjpa.persistence.generationtype.TestGeneratedValues cuando se ejecuta en MySQL
- Añadir pruebas JPQL para la recolección elemento
- fracasos TestCase en TextException en MSSQL
- pruebas fallidas TestTimeoutException Fix en MSSQL y MySQL
- TestTimestampVersion Fix en diversas bases de datos
- prueba TestJDBCEscapeDate Arreglo para MSSQL
- TestGeneratedValues Fix para DB2
- Las nuevas pruebas de caminos calificados de consulta li>
- Corregir fallas de tiempo de espera DataCache intermitentes en TestSJVMCache y CacheTest
¿Qué hay de nuevo en la versión 1.2.2:
- Corrección de errores:
- restricción de clave primaria violó utilizando la secuencia (Oracle) para generar ID de aplicación multiproceso
- & quot; detectado objeto no administrado en el campo persistente & quot; error al fusionar árbol de objetos
- Las actualizaciones de las entidades a través de métodos de devolución de llamada de ciclo de vida
- MappedSuperclass Causa Excepción de puntero nulo en clase con IdClass
- Varios archivos de origen incluyen caracteres de Windows EoL
- AbstractResultList.subList lanza UnsupportedOperationException
- SQLServerDictionary causa NumberFormatException si se utiliza el controlador de MS SQL Server JDBC
- Las entidades que se extienden desde una superclase mapeada que define los campos de ID comparten el mismo parámetro de tipo de objeto
- setQueryTimeout (x) donde x! = 0 causas SQLException con DB2 en z / OS
- NPE en org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn (MappingInfo.java:1400)
- temas longitud Sendero en Windows
- NativeQueries fallan con MySQL
- No se debe utilizar siempre CAST con superior e inferior para DB2
- ReverseMappingTool y SchemaTool su defecto para Sybase
- Mover configuración de clase cacheable a ClassMetadata li>
- controlador SQLServer 2.0 funciona, pero hace una excepción en SQLServerDictionary en la primera conexión
- ClassNotFoundException para DBDictionary personalizado utilizado por EJB
- NULL en columnas parte de una clave compuestaIdClass conduce a & quot; desaparecer & quot; (null) devuelve objetos
- No se puede persistir una relación a una entidad independiente
- Reducir la contención de bloqueo en JDBCStoreManager
- NPE cuando la mejora de una clase Serializable versionados
- Eliminar Java.net experto repostiory de tck pom.xml
- Mejoras:
- Reducir los cuellos de botella de sincronización en la caché de datos, repositorio de metadatos y gestor de eventos del ciclo de vida
- Oracle necesita capacidad de no tener un carácter de escape para las cadenas de búsqueda.
- Implementar de LockTimeout utilizando la función de tiempo de espera de bloqueo del lado del servidor específico db
- Añadir opt-in y opt-out de configuración para L2 DataCache
- Añadir .gitignore para los usuarios git
- Uso StringBuilder en lugar de StringBuffer en SQLBuffer
- Uso java.util.concurrent.ConcurrentHashMap en lugar de un HashMap sincronizada en ClassMapping.
- Mejoras en el rendimiento para la desconexión
- Mejora del rendimiento por la reducción de la tala de por lotes OLE
- Pruebas:
- Derby traje prueba de velocidad-up
- Habilitar caso de prueba para JPQL
Comentarios que no se encuentran