我有一个与Oracle数据库应用程序连接的Spring Boot。同一版本的应用程序在MySQL上运行良好,但当我尝试对Oracle数据库执行一些请求时,它会抛出错误:
Servlet.service()的servlet[调度Servlet]在上下文与路径[]抛出异常[请求处理失败;嵌套异常org.springframework.dao.InvalidDataAccessResourceUsageExctive:无法提取ResultSet;SQL[n/a];嵌套异常org.hibernate.exception.SQLGrammarExctive:无法提取ResultSet]根原因
“状态”:500,“错误”:“内部服务器错误”,“跟踪”:“org.springframework.dao.InvalidDataAccessResourceUsageException:无法提取结果集;SQL[n/a];嵌套异常为org.hibernate.exception.sqlgrammareException:无法提取结果集\r\n\tat org.springframework.orm.jpa.vendor.hibernatePadialect.convertHibernateAccessException(hibernatePadialect.java:281)\r\n\t组织。springframework。奥姆。jpa。小贩HibernatePadialect。TranslateException如果可能(HibernateJpaDialect.java:255)\r\n\t org。springframework。奥姆。jpa。AbstractEntityManagerFactoryBean。TranslateException如果可能(AbstractEntityManagerFactoryBean.java:528)\r\n\t org。springframework。刀。支持ChainedPersistenceExceptionTranslator。TranslateException如果可能(ChainedPersistenceExceptionTranslator.java:61)\r\n\t组织。springframework。刀。支持数据附件。translateIfNecessary(DataAccessUtils.java:242)\r\n\t组织。springframework。刀。支持PersistenceExceptionTranslationInterceptor。在com上调用(PersistenceExceptionTranslationInterceptor.java:154)。实例帕维尔。费用控制器。费用控制员。createExpense(ExpenseController.java:67)~[classes/:na]等。。。
下面是我的控制器方法:
@PostMapping("/expense")
ResponseEntity<Expense> createExpense(@Valid @RequestBody Expense expense) throws URISyntaxException {
Expense result = expenseRepository.save(expense);
return ResponseEntity.created(new URI("/api/expense/" + result.getId())).body(result);
}
还有我的消费模式
@NoArgsConstructor
@Data
@Table(name="expense")
@Entity
public class Expense {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
private Instant date;
private double amount;
private String description;
@ManyToOne
private Category category;
@ManyToOne
private User user;
// Getters and setters
这是我的申请表。属性
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
spring.jpa.properties.hibernate.ddl-auto=create-drop
spring.jpa.properties.hibernate.show-sql=true
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.username=system
spring.datasource.password=root
spring.datasource.initialization-mode=always
spring.datasource.validationQuery=SELECT 1
logging.level.org.hibernate.SQL=DEBUG
spring.server.compression.enabled=true
spring.jpa.database-platform=org.hibernate.dialect.Oracle12cDialect
spring.jpa.properties.hibernate.format_sql=true
您应该向应用程序中添加Hibernate方言
。像这样的财产
html prettyprint-override">spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
问题内容: 安慰: 问题: 当我从类执行函数时,就会发生这种情况。这是怎么回事 问题答案: 如下更改查询: 否则如下: 中相应的比较 ,其中 子句是具有文字,而不是另一列。因此,必须在第一种情况下用引号引起来,或者在第二种情况下使用绑定变量。
嗨,你能帮我解决这个问题吗。我在MySQL DB中连接了这个应用程序,每次运行这个作业从DB中取数据时,我总是会得到这个异常(参见添加了Java类、DAO和方法以及apache DBCP2配置的全栈跟踪)。 null
我无法获取结果,create查询正在执行,但之后将其转换为list无法工作。请帮我解决这个问题。为什么它没有被转换成列表我无法获取结果,创建查询正在被执行,但之后将它转换成列表不起作用。请帮我解决这个问题。为什么它没有被转换成列表 表脚本 bean类 控制器方法是: 错误日志 null AnswerEntity类
目前,我在为springboot项目获取mysql数据时遇到了一个问题: 编辑:Application.Properties 我能够使/test/welcome映射工作,因此我相信我对服务和控制器的实现是正确的。所以我想知道我是不是在访问存储库中的数据库时犯了一个错误,还是应该使用JpaRepository而不是CrudRepository并使用显式查询? 编辑堆栈跟踪:org.springfra
我已经将支持JAR和jdbc驱动程序添加到我的项目中,但我仍然得到了低于例外情况 getting找不到resultset异常错误执行load命令:getting sqlgrammerexception 我的配置文件
这是我的POJO类,名为Student,我为它创建了一个表来更新标记。 这是我的主要班级 当我尝试执行该操作时,它显示了另一个错误,错误是“student0_”。“verson”:无效标识符