oracle.jdbc.OracleDatabaseException: ORA-00904

问题描述:

在使用tk.mybatis.mapper.common.Mapper的Example时,在遇到实体类某几个字段对应的数据库表没有而报字段未定义问题

报错信息:

Caused by: oracle.jdbc.OracleDatabaseException: ORA-00904: "TAB_NAME": invalid identifierat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)... 169 common frames omitted

实体类如下:

public class ModelInfo {@Id@GeneratedValue(generator = "JDBC")private Long id;private String effeDate;private String lapsDate;private String validIdet;private String creater;private String createDate;//数据库无字段private String type;private String tabName;

解决1

加上java本身的注解即可@Transient,在实体类对应的属性上添加注解;

import javax.persistence.Transient;public class ModelInfo {@Id@GeneratedValue(generator = "JDBC")private Long id;private String effeDate;private String lapsDate;private String validIdet;private String creater;private String createDate;//数据库没有的字段@Transientprivate String type;@Transientprivate String tabName;
}

这里要注意:

@Transient

javax.persistence.Transient;
org.springframework.data.annotation.Transient;

在使用Example的过程中,只有使用java本身的才会识别,而使用spring则还是会报数据字段未定义的问题


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部