【问题标题】:ORA-22835 using JPA (Buffer too small)ORA-22835 使用 JPA(缓冲区太小)
【发布时间】:2010-02-23 09:42:12
【问题描述】:

我正在尝试使用带有 @Lob 注释的字符串字段的实体。如果大于 40k 缓冲区大小限制,则该字段的内容。

我遇到的第一个问题与 JPA 实现(在我的例子中是 Hibernate)和 Oracle JDBC 驱动程序内部使用的 setString 方法有关。这个问题解决了添加

<property name="hibernate.connection.SetBigStringTryClob" value="true"/>

到我的 persistence.xml 文件。

然后,错误变为 ORA-22835 错误(缓冲区太小)。 ¿ JPA 有什么方法可以在不进行低级实现的情况下解决这个问题? ¿ 有什么建议吗?

【问题讨论】:

  • 您使用的是哪个版本的 Oracle JDBC 驱动程序?

标签: oracle hibernate orm jpa clob


【解决方案1】:

您可以尝试使用Oracle 10g Release 2 drivers(选择最新的 ojdbc14.jar,即 10.2.0.4)或更高版本(如this previous answer 中所述,旧版本存在问题)。

【讨论】:

  • 好吧...我下载了最后一个驱动程序(我以为我已经有了,但我错了)。现在我有另一个错误: ORA-24816 =>在实际 LONG 或 LOB 列之后提供的扩展的非 LONG 绑定数据我读过这是一个 Oracle 问题。有没有办法让 JPA(或底层实现,在我的例子中为 Hibernate)按给定顺序对列进行排序,以便 Clob 列排在最后?看来这就是我现在遇到的问题...
  • 问题刚刚消失 :S 我对此不太高兴,因为今天消失的东西明天可能会再次出现,但它确实看起来像配置问题。
猜你喜欢
  • 2022-01-02
  • 2019-09-13
  • 1970-01-01
  • 2014-10-20
  • 2014-10-08
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
相关资源
最近更新 更多