【发布时间】:2019-08-19 14:28:48
【问题描述】:
我正在尝试将 5000 个字符的数据插入 VARCHAR2(32767 CHAR) db 列。它与普通 JDBC 程序一起工作正常。但是当我尝试使用 JPA 程序运行时,它不起作用。
清除摘要: 我创建了一个包含 VARCHAR2(32767 CHAR) 列的表
我的 JPA 代码正在尝试将大字符串插入此字段,该字段包含 5000 个字符。
当我使用spring.jpa.hibernate.ddl-auto=create 运行此代码时,该字段将被创建为 LONG 而不是 VARCHAR2(32676 CHAR) 并且我能够插入数据。
但是当我使用列 VARCHAR2(32767 CHAR) 手动创建表时。并尝试从 JPA 插入代码。仍然 JPA 在内部将该列转换为 LONG 并尝试插入。
所以我得到 ORA-01461: can bind a LONG value only for insert into a LONG column。
有什么解决办法吗?
【问题讨论】:
-
映射的样子如何?
-
@Column(name = "position", columnDefinition="VARCHAR2 32767 CHAR") 私有字符串位置;
-
不应该是VARCHAR2(32767 CHAR)
-
@Simon,那应该是什么?
标签: hibernate jpa spring-data-jpa