gpt4 book ai didi

java - Oracle 将空字符串转换为 null 但 JPA 不会相应地更新实体缓存

转载 作者:搜寻专家 更新时间:2023-11-01 03:56:21 25 4
gpt4 key购买 nike

众所周知,Oracle 将空字符串视为 null。

但是,由于 JPA 的缓存导致的这种行为,我遇到了问题。

首先我坚持使用 JPA (Toplink Essentials) 一个实体,它有一个空字符串作为一个字段。 Oracle 在存储时将该值转换为 null。

但是,当我获取实体时,JPA 似乎从缓存中返回它,其中该字段仍然是一个空字符串。 JPA 似乎不知道,存储到数据库中的实际上是一个空值,这种不一致导致了问题。

有没有办法在 JPA 或应用程序服务器 (Oracle AS) 配置级别解决此问题?这是我不想在应用程序级别修复的东西(但如果有必要,我会修复)。

最佳答案

我们已经迁移到支持@ReturnInsert 和@ReturnUpdate 注释的EclipseLink。这些有助于使用实际存储到数据库中的值刷新字段。

关于java - Oracle 将空字符串转换为 null 但 JPA 不会相应地更新实体缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/653521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com