Cache em segundo nível JPA

2 respostas
javamysql
J

Olá, estou tendo problemas para implementar o cache de segundo nível no JPA.

Meu persistence.xml, não reconhece a tag: shared-cache-mode, exibindo o erro abaixo. Alguém sabe me dizer o motivo do erro ou se é necessário add alguns jar para habilitar essa tag?

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>


<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
  <shared-cache-mode>DISABLE_SELECTIVE</shared-cache-mode>

ERRO

cvc-complex-type.2.4.a: Invalid content was found starting with element ‘shared-cache-mode’. One of ‘{“http://java.sun.com/xml/ns/persistence”:jta-data-source, “http://java.sun.com/xml/ns/persistence”:non-jta-data-source, “http://java.sun.com/
xml/ns/persistence”:mapping-file, “http://java.sun.com/xml/ns/persistence”:jar-file, “http://java.sun.com/xml/ns/persistence”:class, “http://java.sun.com/xml/ns/persistence”:exclude-unlisted-classes, “http://java.sun.com/xml/ns/
persistence”:properties}’ is expected.

2 Respostas

J

Estas propriedades estão internas a tag <persistence-unit ... > ... </persistence-unit>?

De acordo com o que mandou parecem estar fora, talvez por este motivo esteja ocorrendo o erro.

J

Mudei para versão 2.0 persistence.xml porém agora está dando erro quando coloco esse bloco de código. O que pode ser?

parametro.put("javax.persistence.sharedCache.mode","DISABLE_SELECTIVE");
  parametro.put("hibernate.cache.region.factory_class","org.hibernate.testing.cache.CachingRegionFactory");
  parametro.put("hibernate.javax.cache.provider","org.ehcache.jsr107.EhcacheCachingProvider");
  parametro.put("hibernate.javax.cache.uri","ehcache.xml");

Erro:

dez 18, 2020 6:32:44 PM org.hibernate.ejb.HibernatePersistence logDeprecation

WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.

dez 18, 2020 6:32:44 PM org.hibernate.ejb.HibernatePersistence logDeprecation

WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.

dez 18, 2020 6:32:44 PM org.hibernate.ejb.HibernatePersistence logDeprecation

WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.

dez 18, 2020 6:32:44 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation

INFO: HHH000204: Processing PersistenceUnitInfo [

name: conexao

]

dez 18, 2020 6:32:45 PM org.hibernate.Version logVersion

INFO: HHH000412: Hibernate Core {4.3.6.Final}

dez 18, 2020 6:32:45 PM org.hibernate.cfg.Environment 

INFO: HHH000206: hibernate.properties not found

dez 18, 2020 6:32:45 PM org.hibernate.cfg.Environment buildBytecodeProvider

INFO: HHH000021: Bytecode provider name : javassist

dez 18, 2020 6:32:46 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager 

INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}

dez 18, 2020 6:32:46 PM org.hibernate.c3p0.internal.C3P0ConnectionProvider configure

INFO: HHH010002: C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/jjanders_jtvenda_21981294917?autoReconnect=true

dez 18, 2020 6:32:46 PM org.hibernate.c3p0.internal.C3P0ConnectionProvider configure

INFO: HHH000046: Connection properties: {user=jjanders_remoto, password=<strong><strong>, zeroDateTimeBehavior=convertToNull}

dez 18, 2020 6:32:46 PM org.hibernate.c3p0.internal.C3P0ConnectionProvider configure

INFO: HHH000006: Autocommit mode: false

dez 18, 2020 6:32:46 PM com.mchange.v2.log.MLog 

INFORMAÇÕES: MLog clients using java 1.4+ standard logging.

dez 18, 2020 6:32:47 PM com.mchange.v2.c3p0.C3P0Registry banner

INFORMAÇÕES: Initializing c3p0-0.9.2.1 [built 20-March-2013 10:47:27 +0000; debug? true; trace: 10]

dez 18, 2020 6:32:47 PM com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager

INFORMAÇÕES: Initializing c3p0 pool com.mchange.v2.c3p0.PoolBackedDataSource@44c24ba7 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@911bcea7 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge0w2aex677ol1y35m0j|654d8173, idleConnectionTestPeriod -> 120, initialPoolSize -> 1, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 300, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 35, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@d3d540bb [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1hge0w2aex677ol1y35m0j|e98770d, jdbcUrl -> jdbc:mysql://localhost:3306/jjanders_jtvenda_21981294917?autoReconnect=true, properties -> {user=</strong></strong>**, password=******, zeroDateTimeBehavior=convertToNull} ], preferredTestQuery -> null, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1hge0w2aex677ol1y35m0j|15eebbff, numHelperThreads -> 3 ]

dez 18, 2020 6:32:48 PM org.hibernate.dialect.Dialect 

INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect

dez 18, 2020 6:32:48 PM org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation

INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException

java.lang.NullPointerException

at br.com.jtsistemas.venda.persistencia.PersistenciaCategoria.ObterPorID(PersistenciaCategoria.java:122)

at br.com.jtsistemas.persistencia.PersistenciaCategoriaTest.ObterPorId(PersistenciaCategoriaTest.java:26)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:349)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:314)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:312)

at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)

at org.junit.runners.ParentRunner.run(ParentRunner.java:396)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
Criado 18 de dezembro de 2020
Ultima resposta 18 de dez. de 2020
Respostas 2
Participantes 2