Java Hibernate关闭缓存-Can';在应用程序中看不到直接对数据库所做的更改

Java Hibernate关闭缓存-Can';在应用程序中看不到直接对数据库所做的更改,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我有一个简单的问题。当我直接在数据库中编辑某些内容时,例如通过UPDATE语句,我在应用程序中看不到任何更改。我在某个地方读到,这是Hibernate缓存的原因,还是我错了 我的hibernate配置如下所示: <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.

我有一个简单的问题。当我直接在数据库中编辑某些内容时,例如通过UPDATE语句,我在应用程序中看不到任何更改。我在某个地方读到,这是Hibernate缓存的原因,还是我错了

我的hibernate配置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

    <persistence-unit name="transactionPersistenceUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/TestTable?UseUnicode=true&amp;characterEncoding=utf8" />
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.username" value="uberSecretUsername" />
            <property name="hibernate.connection.password" value="uberSecretPassword" />
            <property name="show_sql" value="true" />
            <property name="hibernate.connection.useUnicode" value="true" />
            <property name="hibernate.connection.characterEncoding" value="UTF-8" />
            <property name="hibernate.connection.charSet" value="UTF-8" />
        </properties>
    </persistence-unit>
</persistence>

org.hibernate.ejb.HibernatePersistence

基本上没有什么能让你惊讶的。如何禁用此缓存或如何使其工作。当我直接在数据库上进行更改时,我只想在应用程序中看到更改

您正在关闭entityManager吗?如果不这样做,这可能是您的问题。您只使用一级缓存(无法关闭)。二级缓存可能会导致它以这种方式运行,但您没有使用必须显式打开的二级缓存。我使用的是PersistenceContext,为什么要关闭entityManager@比尔:你是说第二级可以帮助你,还是我错了?不-你的帖子表明你认为这可能是由Hibernate缓存引起的,我告诉你Hibernate缓存不是原因。