Java &引用;ORA-01754:表格只能包含一列LONG“类型;只有一个长型
我在Oracle中使用hibernate,在服务启动之前,在运行时使用hbm2ddl选项更新表 今天,我开始面临一个奇怪的问题,我知道表T有两个Oracle不支持的长列Java &引用;ORA-01754:表格只能包含一列LONG“类型;只有一个长型,java,database,oracle,hibernate,Java,Database,Oracle,Hibernate,我在Oracle中使用hibernate,在服务启动之前,在运行时使用hbm2ddl选项更新表 今天,我开始面临一个奇怪的问题,我知道表T有两个Oracle不支持的长列 @Table(name="table_t") @Entity public class T extends BaseEntity{ @Id Long id; @Column(name="col1") Long col1; @Column(name="col2") Integer col2; } 面对这个问题后,我将co
@Table(name="table_t")
@Entity
public class T extends BaseEntity{
@Id
Long id;
@Column(name="col1")
Long col1;
@Column(name="col2")
Integer col2;
}
面对这个问题后,我将col1的数据类型更改为Integer(表不是在数据库中创建的),并尝试重新运行应用程序,但仍然失败,并出现相同的错误
当前架构如下所示:
@Table(name="table_t")
@Entity
public class T extends BaseEntity{
@Id
Long id;
@Column(name="col1")
Integer col1;
@Column(name="col2")
Integer col2;
}
为什么会这样?我试着打扫、重建等等
元信息是否已经存储在某个地方?或者我错过了什么
谢谢,该表可能有一个未使用的长列。 您将无法看到它,但需要先删除它,然后才能添加另一个。 我试着在这篇文章中解释:
那些
Long
属性应该映射到Oracle中的NUMBER
列,而不是Long
(Long
是一种BLOB
数据类型,它不是整数类型)-我会检查您是否使用了正确的Hibernate方言。即使有一个Long,它也会失败吗?这是方言,不是“失败与否”的问题。OracleLONG
数据类型是完全错误的选择。