我在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;
}
为什么会这样?我尝试过清洁,重建等等。
元信息是否已存储在某处?或者我错过了其他什么?
谢谢,
答案 0 :(得分:-1)
表可能有一个未使用的长列。 您将无法看到它,但需要先将其删除才能添加另一个。 我试图在这篇文章中解释它: http://international-dba.blogspot.co.uk/2014/01/ora-01754.html