Java EE实体管理器未正确获取数据库数据

Java EE实体管理器未正确获取数据库数据,java,json,jakarta-ee,Java,Json,Jakarta Ee,我做了一个小小的JavaEE程序 ... @GET @Produces(MediaType.APPLICATION_JSON) public Article getIt() { EntityManager em = Persistence.createEntityManagerFactory("local_persistence") .createEntityManager(); Article a = em.find(Article.class, 1

我做了一个小小的JavaEE程序

...
@GET
@Produces(MediaType.APPLICATION_JSON)
public Article getIt() {

    EntityManager em = Persistence.createEntityManagerFactory("local_persistence")
            .createEntityManager();

    Article a = em.find(Article.class, 1);
    return a;
}
...
这是我的
persistence.xml
文件

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
  <persistence-unit name="local_persistence" transaction-type="JTA">
    <jta-data-source>java:app/local-db</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>
但是,如果我更改了本地数据库中的行并重新加载页面(而不是应用程序),json将保持不变


为什么资源不能再次获取数据库中的数据?

您是如何更改数据库中的数据的?使用mysql工作台?如果是,您是否提交了更改?是否提交了?这是一个postgresql数据库,我之所以提交是因为我编写了
update prog.articles set content='…',其中article_id=1如果您确定已提交,另一种解释可能是PersistenceContext未刷新,它从缓存提供数据。尝试
em.refresh(Article.class,1)
;该值将被缓存
{"articleId":1,"content":"hello everyone","name":"my first article"}