Apache OpenJPA est disponible en deux branches distinctes, chaque matière de niveau de production.
Les différences entre les deux sont les normes qu'ils mettent en œuvre. La branche 1.x suit le Beans JSR-220 Enterprise Java 3.0 specificationm tandis que la branche 2.x est modelé d'après la spécification JSR-317 Java Persistence 2.0.
OpenJPA fonctionne hors de la boîte comme une couche de persistance des applications Spring et Tomcat, mais les développeurs peuvent également construire comme une bibliothèque Java autonome, même en travaillant dans des milieux non-Java EE.
Un projet de persistance Java qui peut être utilisé comme une couche POJO persistance autonome ou intégré dans un conteneur compatible Java EE et de nombreux autres cadres légers.
Ce qui est nouveau dans ce communiqué :
- Mise à niveau vers la dépendance ASM 4
- Accélérer métadonnées de requête recherche
- Fournir option pour exclure nom de schéma d'annotationTable généré pour les entités générées
Quoi de neuf dans la version 2.3.0 / 1.2.3:
- Mise à niveau vers ASM 4 dépendance
- Accélérer métadonnées de requête recherche
- Fournir option pour exclure nom de schéma d'annotationTable généré pour les entités générées
Ce qui est nouveau dans la version 2.1.0:
- Bugs Correction:
- ConcurrentModificationException au org.apache.openjpa.kernel.BrokerImpl
- insérer du texte de plus de 4 Ko à la colonne Clob provoque SQLException: Épuisé Resultset
- ConcurrentModificationException avec l'auto-référence entité classe lorsqu'ils ne sont pas en cours d'exécution l'activateur
- Génération identifiants en utilisant la table de séquence peut échouer pendant table de séquence d'initialisation
- Hors limites exception en utilisant chercher régime
- JPQL échoue avec group by et having aggregate_expression IN (sous-requête)
- erreurs SQL-syntaxe pour h2
- ORDER BY ajoutera colonne supplémentaire à la clause SELECT qui peut potentialy causes ORA-00979 erreur
- Informix exceptions de blocage ne sont pas mappés correctement en OpenJPA
- Typo du type de données de temps dans SQLServerdictionary pour MSSQL 2008
- Améliorations:
- OpenJPA ne pas mettre en œuvre de façon significative JDBC3, méthodes JDBC4 dans ses délégués
- Fournir un soutien dictionnaire pour SolidDB
- Mise à jour vers les dernières commons-lang pour les métadonnées nécessaires OSGi
- Fournir l'option LRU pour le cache de données L2
- Une meilleure validation de paramètres sur StoreCache.pinAll () méthode
- Cartographier un type non supporté
- Mettre à niveau vers la dernière Geronimo Specs pour JPA2 et Bean Validation
- Utilisez des sources de données gérées par le conteneur Slice
- Refactoriser traitement de propriétés pour la configuration Slice distribué
- Mise à jour docs MetaDataRepository
- Le support streaming Lob dans DB2
- Utilisez FindBugs pour réduire les erreurs de codage
- Nouvelles fonctionnalités:
- échantillon Bean Validation
- Ajouter une interface de la politique de ciblage des requêtes au sous-ensemble de tranches
- Ajouter une interface de la politique de ciblage Finder pour un sous-ensemble de tranches
- Produire exemple APP Bean Validation et documentation correspondante
- Ajout du support pour DATETIME2 avec MS SQLServer
- exemple de la Nouvelle OpenTrader
- support de MaxDB
- Tâches:
- Mettre à niveau vers la dernière JPA 2.0 TCK
- Support Goutte JDK5 commençant par OpenJPA 2.1
- Tests:
- Besoin de requêtes seau d'essai des moteurs
- tests simples openjpa-xmlstore
- Ajout du support pour tester avec le fournisseur Apache Bean Validation
- CachedEntityStatistics dépendGeneratedValue qui est pris en charge dans Oracle pas par défaut
- Mise à jour openjpa-intégration-daytrader pour effectuer des tâches de l'utilisateur
- testExternalValues échoué avec ORA-01438 Oracle exception
- Fix 2 cas de test qui causent des défaillances sur DB2 9.7
Ce qui est nouveau dans la version 2.0.0:
- Correction de bugs:
- ReverseMappingTool échoue pour OpenJPA-examples / reversemapping échantillon
- corrections de documentation
- Lorsque batchLimit = -1 ou & # X3e;. 1 et une exception est provoquée, les params et failedObject sont absents de l'exception résultante
- DataCacheManager initialisation est pas thread-safe.
- Strategy déclenche une InvalidStateException pour les champs qui sont déclarés comme des interfaces Java
- Besoin paramètre de compatibilité pour les nouvelles procurations de OpenJPA-1097 et DetachedStateField comportement
- propriétés de mode de cache passe pour em.find et les méthodes de verrouillage ne sont pas transitoires
- Requête avec le mode de verrouillage mis à PESSIMISTIC_WRITE n'a pas clause for update attaché à la sql lorsque courses deux fois
- Configuration PessimisticLockManager ne parvient pas à ajouter des & quot; & quot clause de mise à jour; à l'instruction SELECT
- ReverseMappingTool (SchemaGenerator) bug
- PESSIMISTIC_WRITE ne fonctionne pas dans Informix
- PessimisticLockException lieu de LockTimeoutException jeté sur DB2V9 pour ZOS
- Mauvais PersistentAttributeType retournés pour typesEmbedded
- Exception lors de la création de l'usine en raison de javax.persistence.transactionType
- Création incohérente de StateManagerImpl dans BrokerImpl
- NPE dans MetaDataRepository lors du préchargement est activé sous stress intense.
- MetaDataRepository précharge ne charge pas JAXB méta-données
- Améliorations:
- Assurez org.apache.openjpa.persistence.meta.AnnotationProcessor6 que le service
- Ajouter un nouveau traitement Détacher
- découpler les QueryCache du DataCache
- Appel de générateur de MetaModel
- le contrôle de sortie pour généré le code source de méta canonique
- Test:
- Échec du test intermittent dans org.apache.openjpa.persistence.generationtype.TestGeneratedValues lorsqu'il fonctionne sur MySQL
- Ajouter tests de JPQL pour la collecte de l'élément
- échecs de TestCase TextException sur MSSQL
- échecs de test Fix TestTimeoutException sur MSSQL et MySQL
- Fix TestTimestampVersion sur diverses bases de données
- Test Fix TestJDBCEscapeDate pour MSSQL
- TestGeneratedValues de correctif pour DB2
- Nouveaux tests pour la requête chemins qualifiés
- Correction d'échecs DataCache de temporisation intermittents dans TestSJVMCache et CacheTest
Ce qui est nouveau dans la version 1.2.2:
- Correction de bugs:
- contrainte de clé primaire violée utilisant séquence (Oracle) pour générer des ID en application multithread
- & quot; rencontré objet non géré dans le domaine persistante & quot; erreur lors de la fusion arborescence d'objets
- Mises à jour des entités via des méthodes de cycle de vie de rappel
- MappedSuperclass provoquer exception de pointeur nul en classe avec IdClass
- Plusieurs fichiers sources comprennent les caractères de Windows eol
- AbstractResultList.subList jette UnsupportedOperationException
- SQLServerDictionary provoque NumberFormatException si le pilote MS SQL Server JDBC est utilisé
- Entités étendant depuis une mappés qui définit les champs d'ID partagent le même paramètre de type ObjectID
- setQueryTimeout (x) où x! = 0 les causes SQLException avec DB2 sur z / OS
- NPE au org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn (MappingInfo.java:1400)
- les problèmes de longueur de chemin sous Windows
- NativeQueries échouent avec MySQL
- ne devrait pas utiliser toujours avec CAST supérieure et inférieure pour DB2
- ReverseMappingTool et SchemaTool défaut pour Sybase
- Déplacer la configuration de classe mis en cache à ClassMetadata li>
- pilote de SQLServer 2.0 de travaux, mais provoque exception dans SQLServerDictionary sur la première connexion
- ClassNotFoundException pour DBDictionary personnalisé utilisé par EJB
- NULL dans les colonnes partie d'une clé compositeIdClass conduit à & quot; disparition & quot; (null) retourne objets
- Impossible de persister une relation à une entité indépendante
- réduire la contention de verrouillage dans JDBCStoreManager
- NPE lorsque amélioration, une classe Serializable versionné
- Supprimer Java.net maven repostiory de tck pom.xml
- Améliorations:
- Réduire les goulets d'étranglement de synchronisation dans le cache de données, le référentiel de métadonnées et de gestionnaire d'événements de cycle de vie
- Oracle a besoin la capacité de ne pas avoir un caractère d'échappement pour les chaînes de recherche.
- Mettre en œuvre LockTimeout utilisant db serrure fonction de temporisation côté serveur spécifique
- Ajouter opt-in et opt-out configuration pour L2 DataCache
- Ajouter .gitignore pour les utilisateurs git
- Utilisez StringBuilder au lieu de StringBuffer dans SQLBuffer
- Utiliser java.util.concurrent.ConcurrentHashMap plutôt qu'une HashMap synchronisée ClassMapping.
- Amélioration des performances pour détacher
- Amélioration des performances par la réduction de l'exploitation forestière de batched OLE
- Test:
- Derby costume de test accélérer
- Activer cas de test pour JPQL
Commentaires non trouvées