I Wildfly 8.1 so JPA 2.1 und Hibernate bin mit 4.3.5JPA gemeinsamen Cache/Cache zweiter Ebene in Wildfly
I JPA Shared-Cache/Cache zweiter Ebene in Wildfly
ich das nutzen wollen folgen Wildfly Dokumentation: https://docs.jboss.org/author/display/WFLY8/JPA+Reference+Guide#JPAReferenceGuide-UsingtheInfinispansecondlevelcache
hier ist mein persitience.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="myAppPU" transaction-type="JTA">
<jta-data-source>java:/jdbc/myAppDS</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<properties>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="org.hibernate.flushMode" value="MANUAL"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
</properties>
</persistence-unit>
</persistence>
ich die Eigenschaft hibernate.cache.use_second_level_cache auf true gesetzt und stellen Sie den Shared-Cache-Modus
und Organisationen (@Entity) Ich möchte gecached werden kommentierten mit @Cacheable (true), wie das ENABLE_SELECTIVE:
@Entity
@Cacheable(true)
public class Tooltip implements Serializable {
@Id
private String path ;
private String description ;
private Boolean rendered ;
//...
}
Aber jedes Mal, wenn ich Besuch ein website hibernate generiert eine Menge von select, um alle Entitäten zu erhalten, die ich als @Cacheable (true) angegeben habe, selbst wenn ich die Seite bereits besuche (in derselben Sitzung).
So scheint es, dass der gemeinsame Cache/Second Level Cache nicht
funktioniertHabe ich etwas verpasst?
Danke hwellmann
I hibernate.cache.use_query_cache auf true in der persitence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="myAppPU" transaction-type="JTA">
<jta-data-source>java:/jdbc/myAppDS</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<properties>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.use_query_cache" value="true" />
<property name="org.hibernate.flushMode" value="MANUAL"/>
</properties>
</persistence-unit>
</persistence>
und und den Hinweis in der Abfrage zu setzen versucht, ich verwende
@Entity
@NamedQueries({
@NamedQuery(name = "FieldInfos.findAll", query = "SELECT i FROM FieldInfos i", hints = {@QueryHint(name="org.hibernate.cacheable",value="true")}),
@NamedQuery(name = "FieldInfos.findByPath", query = "SELECT i FROM FieldInfos i WHERE i.path = :path", hints = {@QueryHint(name="org.hibernate.cacheable",value="true")})
})
@Cacheable(true)
public class FieldInfos implements Serializable {
//...
}
aber das Problem bleibt
Ich versuche auch mit der neuen Version von Wildfly: 8.2 4.3.7 so Hibernate, aber das Problem bleibt auch
Haben Sie Ihr Problem gelöst? –
Haben Sie die Statistik aktiviert und die WildFly-Verwaltungskonsole> Runtime> JPA-Registerkarte überprüft? –