我正在使用最新的ORMLite来查询Oracle数据库。我在Spring中创建了所有DAO,并为我的关键字段添加了@DatabaseField(id = true)
注释。在Spring配置中,我的JDBC url就像jdbc:oracle ....
但是当我通过queryById(...)
或queryForEq(...)
等执行我的查询时,ORMLite总是尝试使用在我的实体类中定义的小写和双引号的列名,以便Oracle不喜欢它并抛出异常:
(ORA-00904: "id": invalid identifier)
任何人都知道解决方案吗?
答案 0 :(得分:0)
不知道ORMLite,但根据@DatabaseField Javadoc,您可以在注释中重新定义列名:
@DatabaseField(id = true, columnName = "ID")
答案 1 :(得分:0)
(ORA-00904:“id”:标识符无效)
在ORMLite的4.42版中,我们更改了OracleDatabaseType
以生成大写实体。这应该是ID
。我怀疑你正在运行较低版本的ORMLite,你应该考虑升级。
如果不是这种情况,请提供您的版本号并显示您的实体字段。