“ORA-01754:一个表只能包含一个LONG类型的列”,只有一个Long类型

时间:2014-01-28 04:20:31

标签: 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;

}

在遇到问题之后,我将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;

}

为什么会这样?我尝试过清洁,重建等等。

元信息是否已存储在某处?或者我错过了其他什么?

谢谢,

1 个答案:

答案 0 :(得分:-1)

表可能有一个未使用的长列。 您将无法看到它,但需要先将其删除才能添加另一个。 我试图在这篇文章中解释它: http://international-dba.blogspot.co.uk/2014/01/ora-01754.html