使用 jpa/hibernate 进行实体更新时出现问题

2024-01-21

我有一个名为“Pagina”的实体类,我想根据对实体所做的更改来更新数据库中的条目。这不起作用。我没有收到任何错误,但数据库没有更改。

@Entity
@Table(name = "PAGINA")
@NamedQueries({@NamedQuery(name = "Pagina.findAll", query = "SELECT p FROM Pagina p"), 
@NamedQuery(name = "Pagina.findHashByURL", query= "SELECT p.chash FROM Pagina p WHERE p.url = :url"),
@NamedQuery(name = "Pagina.findTimestampByURL", query= "SELECT p.timestamp FROM Pagina p WHERE p.url = :url"),
@NamedQuery(name = "Pagina.findByUrl", query = "SELECT p FROM Pagina p WHERE p.url = :url"),
@NamedQuery(name = "Pagina.findByProfondita", query = "SELECT p FROM Pagina p WHERE p.profondita = :profondita"),
@NamedQuery(name = "Pagina.findByIntervallo", query = "SELECT p FROM Pagina p WHERE p.intervallo = :intervallo"),
@NamedQuery(name = "Pagina.findByTimestamp", query = "SELECT p FROM Pagina p WHERE p.timestamp = :timestamp"), 
@NamedQuery(name="Pagina.findAllURL", query="SELECT p.url FROM Pagina p"),
@NamedQuery(name="Pagina.findDelayByURL", query="SELECT p.intervallo FROM Pagina p WHERE p.url = :url"),
@NamedQuery(name = "Pagina.findByUpdated", query = "SELECT p FROM Pagina p WHERE p.updated = :updated")})
public class Pagina implements Serializable, Delayed{
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "URL")
    private String url;
    @Column(name = "PROFONDITA")
    private Integer profondita;
    @Column(name = "INTERVALLO")
    private Integer intervallo;
    @Lob
    @Column(name = "CHASH")
    private String chash;
    @Column(name = "TIMESTAMP")
    private Integer timestamp;
    @Column(name = "UPDATED")
    private Boolean updated;


[cut]

在另一个类中,我使用类中定义的方法检索存储在数据库(mysql)中的对象,该类包含适用于实体的方法。此方法使用查询“findAll”。该方法的代码如下:

public List<Pagina> findAll(){
EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("CrawlerPU");
        EntityManager em = emf.createEntityManager();  
List o = (List) em.createNamedQuery("Pagina.findAll").getResultList();
        return o;
    }

我正在使用这种方法,正如您在代码中看到的那样:

 PaginaMethods p = new PaginaMethods();

        List<Pagina> l = p.findAll();
   while (it.hasNext()) {
            Pagina s = (Pagina) it.next();
            s.setUpdated(Boolean.TRUE);

如果我观察数据库,则此操作后没有任何变化。我的 persistence.xml 有条目“” 你能帮助我吗?我不知道如何解决这个问题...如果需要的话我可以改变一些事情。


将 Hibernate 视为一个大缓存can使用数据库作为“存储”,它将不再适合缓存的内容放入其中。当您更改它时,Hibernate 不会将所有内容刷新到数据库,它会等待。您可能会更改对象中的多个字段。

所以你需要刷新会话(em.flush()),或者必须运行查询,或者必须提交当前事务(使用 Spring 时这不是一个简单的选择)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jpa/hibernate 进行实体更新时出现问题 的相关文章

随机推荐

  • Huggingface 分类与预测作斗争

    我正在微调 longformer 然后使用进行预测TextClassificationPipeline and model inputs 方法 我不确定为什么会得到不同的结果 import pandas as pd import datas
  • 解析器未共享给依赖的 sbt 项目?

    在这个似乎涉及 xsbt web plugin 的奇怪情况下 我收到错误 unresolved dependency play play json 2 10 2 2 SNAPSHOT not found 当加载时server子项目 依赖项和
  • 使用 Validating 事件和 ErrorProvider 进行验证 - 显示错误摘要

    当我的 WinForms 中存在错误时 如何显示消息框 数据无效 尝试过类似的东西 但它不起作用 if errorprovider1 null MessageBox Show Data is invalid 也许我必须使用 bool 来解决
  • 不区分大小写的三元搜索树

    我一直在使用三元搜索树 http en wikipedia org wiki Ternary search tree有一段时间 作为数据结构来实现一个自动完成下拉组合框 这意味着 当用户输入 fo 时 将显示下拉组合框 富 食物 足球 问题
  • 线性图表中 x 轴上的多条线未显示

    我有一个单轴折线图 用户会选择year从下拉菜单中选择loan type从另一个下拉菜单 然后图表应加载 12 个月的记录annual payment and scheduled payment 两者都是线性线 仪表板 vue div cl
  • 按发布日期列出的可用.packages

    是否可以从 R 中获取 CRAN 包的发布日期 我想获取 k 个最近发布的 CRAN 软件包的列表 或者获取 dd mm yy 日期之后发布的所有软件包的列表 类似于上面的信息available packages by date html
  • 用特征名称绘制特征重要性

    在 R 中 有预先构建的函数来绘制随机森林模型的特征重要性 但在python中似乎缺少这样的方法 我在寻找一种方法matplotlib model feature importances给了我以下内容 array 2 32421835e 0
  • 查找特定 ClearCase 分支中修改的所有文件?

    有没有办法创建一个视图 为我提供在特定 ClearCase 分支中修改的所有文件的快照 例如 假设我有两个分支 product 1 0 dev product migration 1 0 dev 第二个分支被认为是升级我们的核心框架依赖项的
  • istringstream、ostringstream 和 stringstream 之间有什么区别? / 为什么不在所有情况下都使用 stringstream?

    我什么时候用std istringstream std ostringstream and std stringstream为什么我不应该使用std stringstream在每种情况下 是否存在运行时性能问题 最后 这有什么不好的地方 而
  • Springboot嵌入tomcat绑定IPV6

    我正在使用 springboot 开发rest api 当我尝试部署它自动绑定到我们不想要的ipv6的jar时 我遇到了小问题 我知道我可以使用外部tomcat 但只是为了学习 我想知道是否可以强制它绑定到 ipv4 谢谢 萨吉德 您可以使
  • IFrame 和父级之间的跨文档消息传递问题

    我有一个应用程序在 外部 页面 不同域等 的 iframe 内运行 为了允许 iframe 和父级之间进行一些基本通信 我在父级页面上加载了我的一些脚本并使用postMessage进行一些跨文档消息传递 大多数时候 这种通信会按预期进行 但
  • 为什么直接比较两个枚举时会出现错误?

    我有一些代码正在移植到新平台 它开始给我一个关于比较两个不同枚举器列表中的两个枚举器的错误 我很困惑为什么它会给我一个关于此的错误 C 规范 6 7 2 2 的枚举规范部分指出 The identifiers in an enumerato
  • TreeMap.get() 即使键存在也返回 Null

    我试图从 TreeMap 获取数据 但即使键存在它也会返回 null HashCode 和 equals 仅基于单词 可比性基于频率 public static void main TreeMap
  • Android 的 XML RPC - 无法创建 XML 解析:org.xml.sax.SaxNotRecognizedException

    我的问题正是this https stackoverflow com questions 6089432 xml rpc problem in java unable to create the xml parse org xml sax
  • Azure 是否限制传出连接

    我正在 Azure 中运行一个 VM 其中有一项服务可以发出大量传出 http 客户端调用 一段时间 大约 10 分钟 后 当服务发出大约 5000 10000 次调用时 它突然开始收到 连接被拒绝 作为对请求的响应 当在本地运行相同的服务
  • Django 1.8 操作错误:没有这样的列:

    我正在使用 django 1 8 但在添加到 models py 时遇到问题 目前是 from django db import models Create your models here class Company models Mod
  • WPF - 为什么列表框项目不填充统一网格

    我有一个列表框 其中 ItemsPanelTemplate 设置为 UniformGrid 行数 6 列数 7 我希望列表框项目填充其空间 我正在使用字典中定义的数据模板 我的模板的外部控件是一个带有 Horizo ntalAlignmen
  • 更新支持库23.2.0构建错误

    我已经将支持库更新到23 2 0 自更新以来 我在构建时收到此错误 app build intermediates data binding layout out debug values v11 values v11 xml 错误 67
  • 使用 Flask-RESTPlus 时如何接受 String 类型字段 None

    我刚刚开始使用 Flask restplus 进行开发 我不是母语人士 但我会尽力尽可能清楚地描述我的问题 我知道有一个fields模块输入flask https flask restplus readthedocs io en 0 8 3
  • 使用 jpa/hibernate 进行实体更新时出现问题

    我有一个名为 Pagina 的实体类 我想根据对实体所做的更改来更新数据库中的条目 这不起作用 我没有收到任何错误 但数据库没有更改 Entity Table name PAGINA NamedQueries NamedQuery name