2014-09-11 74 views
0

使用Oracle 11g快捷版11.2.0.2.0数据库,我使用下面的脚本袋鼠一个简单的项目:Spring Roo的1.2.5 + Oracle数据库= ORA-00902:无效的数据类型

// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-09-10 17:06:13 
project --topLevelPackage com.example --java 7 --packaging jar --projectName TestBug 
jpa setup --provider HIBERNATE --database ORACLE --hostName 192.168.3.44 
// Edits to database.properties to allow access to Oracle XE 
entity jpa --class ~.domain.AbstractTestClass --abstract 
field string --fieldName stringName 
entity jpa --class ~.domain.ConcreteTestClass --extends ~.domain.AbstractTestClass --testAutomatically 
// Test succeeds 
perform test 
field boolean --fieldName testField 
// Test fails 
perform test 

的在下面的错误失败的测试结果:

HHH000389: Unsuccessful: create table abstract_test_class (dtype varchar2(31) not null, id 
number(19,0) not null, string_name varchar2(255), version number(10,0), monkey boolean, primary 
key (id)) 2014-09-10 17:24:36,534 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - 
ORA-00902: invalid datatype 

这是创造降的“hibernate.hbm2ddl.auto”设置,确保数据库的试运行干净。

在这种情况下应该使用布尔值以外的数据类型吗?

回答

1

最简单的办法来解决,这可能是物业指定的最后一列类型:

@Column(columnDefinition="NUMBER(1)") 
    private boolean testField; 

我发现a bug on hibernate-jira about it,但仍然没有得到解决。

祝你好运!