将ORMLite与Oracle一起使用时,列名称不是大写

时间:2013-05-23 00:40:34

标签: oracle ormlite

我正在使用最新的ORMLite来查询Oracle数据库。我在Spring中创建了所有DAO,并为我的关键字段添加了@DatabaseField(id = true)注释。在Spring配置中,我的JDBC url就像jdbc:oracle ....

但是当我通过queryById(...)queryForEq(...)等执行我的查询时,ORMLite总是尝试使用在我的实体类中定义的小写和双引号的列名,以便Oracle不喜欢它并抛出异常:

(ORA-00904: "id": invalid identifier)

任何人都知道解决方案吗?

2 个答案:

答案 0 :(得分:0)

不知道ORMLite,但根据@DatabaseField Javadoc,您可以在注释中重新定义列名:

@DatabaseField(id = true, columnName = "ID")

答案 1 :(得分:0)

  

(ORA-00904:“id”:标识符无效)

ORMLite的4.42版中,我们更改了OracleDatabaseType以生成大写实体。这应该是ID。我怀疑你正在运行较低版本的ORMLite,你应该考虑升级。

如果不是这种情况,请提供您的版本号并显示您的实体字段。