Apache OpenJPA vem em dois ramos distintos, cada material nível de produção.
As diferenças entre os dois são as normas que implementam. O ramo 1.x segue o Beans JSR-220 Enterprise Java 3.0 specificationm enquanto o ramo 2.x foi modelado após a especificação JSR-317 Java Persistence 2.0.
OpenJPA funciona fora da caixa como uma camada de persistência para aplicações Spring e do Tomcat, mas os desenvolvedores também podem construí-lo como uma biblioteca Java autônomo, mesmo trabalhando em meios não-Java EE.
Um projeto de persistência Java que pode ser usado como uma camada POJO persistência independente ou integrado em qualquer recipiente compatível Java EE e muitos outros quadros leves.
O que é novo nesta versão :
- Atualização para ASM 4 dependência
- Acelerar pesquisa metadados consulta
- Fornecer opção para excluir o nome do esquema de anotaçãoTable gerado para entidades geradas
O que é novo na versão 2.3.0 / 1.2.3:
- Atualização para ASM 4 dependência
- Acelerar pesquisa metadados consulta
- Fornecer opção para excluir o nome do esquema de anotaçãoTable gerado para entidades geradas
O que é novo na versão 2.1.0:
- Bugs fixa:
- ConcurrentModificationException em org.apache.openjpa.kernel.BrokerImpl
- Inserir texto mais de 4K bytes a coluna Clob provoca SQLException: Esgotado ResultSet
- ConcurrentModificationException com auto-referente entidade de classe quando não correr o potenciador
- Gerando identificadores usando a tabela seqüência pode falhar durante a inicialização tabela de seqüência
- Fora de exceção limites usando plano de busca
- JPQL falha com Group By e Tendo aggregate_expression IN (subconsulta)
- erros de sintaxe SQL-com h2
- ORDER BY anexará coluna adicional à cláusula SELECT que pode potentialy causa ORA-00979 erro
- Informix exceções de bloqueio não são mapeados corretamente pelo OpenJPA
- Typo do tipo de dados em tempo SQLServerdictionary para MSSQL 2008
- Melhorias:
- OpenJPA não significativamente implementar JDBC3, métodos JDBC4 em seus delegados
- Fornecer suporte de dicionário para solidDB
- Atualização para mais commons-lang para metadados OSGi necessário
- Fornecer opção LRU para cache de dados L2
- Melhor validação de parâmetros em StoreCache.pinAll () método
- O mapeamento de um tipo não suportado
- Atualização para última Geronimo Specs para JPA2 e Bean Validation
- Use fontes de dados gerenciadas por contêiner como Slice
- Refactor processamento de propriedade para a configuração do Slice distribuída
- Atualização de docs MetaDataRepository
- Suporte ao vivo Lob em DB2
- Use FindBugs para reduzir erros de codificação
- Novos recursos:
- amostra Bean Validation
- Adicione uma interface de política para o direcionamento de consultas para subconjunto de slices
- Adicione uma interface de política para o direcionamento de localizador para um subconjunto de slices
- Produzir exemplo JPA Bean Validation e documentação correspondente
- Adicionar suporte para DATETIME2 com MS SQLServer
- exemplo New OpenTrader
- Suporte MaxDB
- Tarefas:
- Atualização para última JPA 2.0 TCK
- Suporte Gota JDK5 começando com OpenJPA 2.1
- testes:
- Precisa de Consulta balde de teste do motor
- testes simples openjpa-xmlstore
- Adicionar suporte para testar com o provedor de Apache Bean Validation
- CachedEntityStatistics dependeGeneratedValue que não é suportado no Oracle por padrão
- Atualização openjpa-integração-daytrader para executar as tarefas do usuário
- testExternalValues falhou com o ORA-01438 exceção do Oracle
- Corrija 2 casos de teste que causam falhas no DB2 9.7
O que é novo na versão 2.0.0:
- Correções de bugs:
- ReverseMappingTool falhar por OpenJPA-exemplos / reversemapping amostra
- correções Documentação
- Quando batchLimit = -1 ou & # x3e;. 1 e uma exceção é causada, os parâmetros e failedObject estão faltando excepção resultante
- inicialização DataCacheManager não é thread-safe.
- Strategy desencadeia uma InvalidStateException para campos que são declarados como interfaces Java
- Precisa de Compatibilidade para definir novas proxies openjpa-1097 e comportamento DetachedStateField
- propriedades do modo de cache passa a em.find e métodos de bloqueio não são transitórios
- Consulta com modo de bloqueio definido para PESSIMISTIC_WRITE não tem cláusula de atualização anexada ao sql quando é executado duas vezes
- Definir PessimisticLockManager deixa de acrescentar & quot; para atualização cláusula & quot; para a instrução SELECT
- ReverseMappingTool (SchemaGenerator) bug
- PESSIMISTIC_WRITE não está funcionando em Informix
- PessimisticLockException em vez de LockTimeoutException jogado em DB2V9 para ZOS
- PersistentAttributeType errado retornado para tiposEmbedded
- Exceção durante a criação da fábrica devido a javax.persistence.transactionType
- criação inconsistente de StateManagerImpl em BrokerImpl
- NPE em MetaDataRepository quando o pré-carregamento está habilitado sob estresse pesado.
- MetaDataRepository pré-carga não carrega JAXB metadados
- Melhorias:
- Faça org.apache.openjpa.persistence.meta.AnnotationProcessor6 como serviço
- Adicionar um novo processamento Separar
- Dissociar a QueryCache do DataCache
- Invocando gerador MetaModel
- O controle de saída para o código-fonte gerado metamodelo canônica
- Testing:
- falha no teste intermitente em org.apache.openjpa.persistence.generationtype.TestGeneratedValues quando executado em MySQL
- Adicione os testes JPQL para coleta elemento
- falhas Testcase em TextException sobre MSSQL
- falhas nos testes Fix TestTimeoutException sobre MSSQL e MySQL
- Fix TestTimestampVersion em vários bancos de dados
- teste Fix TestJDBCEscapeDate para MSSQL
- TestGeneratedValues correção para DB2
- Novos testes para consulta caminhos qualificados
- Corrija as falhas intermitentes DataCache de tempo limite em TestSJVMCache e CacheTest
O que é novo na versão 1.2.2:
- Correções de bugs:
- restrição de chave primária violado usando (Oracle) seqüência para gerar ID no aplicativo multithreaded
- & quot; encontrou objeto não gerenciado no campo persistente & quot; erro ao agrupar objeto da árvore
- Atualizações para entidades através de métodos de retorno de chamada do ciclo de vida
- @ MappedSuperclass Causa exceção de ponteiro nulo na classe com IdClass
- Vários arquivos de origem do Windows incluem caracteres EOL
- AbstractResultList.subList joga UnsupportedOperationException
- SQLServerDictionary provoca NumberFormatException se o MS SQL Server JDBC driver é usado
- As entidades que se estendem de uma superclasse mapeada que define os campos de ID compartilham o mesmo parâmetro de tipo ObjectID
- setQueryTimeout (x), onde x! = 0 causas SQLException com o DB2 no z / OS
- NPE em org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn (MappingInfo.java:1400)
- questões comprimento do caminho no Windows
- NativeQueries falhar com MySQL
- Não deve sempre usar CAST com superiores e inferiores para DB2
- ReverseMappingTool e SchemaTool não for Sybase
- Mover configuração de classe em cache para ClassMetaData
- motorista SQLServer 2.0 funciona, mas faz com que exceção em SQLServerDictionary na primeira conexão
- ClassNotFoundException para DBDictionary personalizado usado pelo EJB
- NULL em colunas de parte de uma chave compostaIdClass leva a & quot; desaparecendo & quot; (null) retornou objetos
- Não é possível persistir um relacionamento a uma Entidade independente
- Reduzir disputa pelo bloqueio na JDBCStoreManager
- NPE quando o reforço de uma classe Serializable, com versão
- Remover Java.net maven repostiory de tck pom.xml
- Melhorias:
- reduzir os gargalos de sincronização em cache de dados, repositório de metadados, e gerente de eventos do ciclo de vida
- Oracle precisa habilidade para não ter um carácter de escape para seqüências de pesquisa.
- Implementar LockTimeout usando o recurso de tempo limite de bloqueio do lado do servidor específico db
- Adicionar opt-in e opt-out de configuração para L2 DataCache
- Adicionar .gitignore para os usuários git
- Use StringBuilder em vez de StringBuffer em SQLBuffer
- Use java.util.concurrent.ConcurrentHashMap em vez de um HashMap sincronizado em ClassMapping.
- Melhorias de desempenho para desanexar
- A melhoria do desempenho pela redução da exploração madeireira em lote de OLE
- Testing:
- Derby terno teste de velocidade-up
- Ativar caso de teste para JPQL
Comentários não encontrado