我有一个非常奇怪的问题,我没有成功搜索过。
它开始发生时没有更改数据库、连接设置、代码等。
问题是,当访问 servlet 时,其中一个 EJB 正在执行直接 SQL 调用,非常简单
"select \n" +
" value, \n" +
" other_value \n" +
" from \n" +
" some_table \n" +
" where some_condition = ? "
这显然不是直接的 SQL,但非常接近。出于某种原因,这开始返回一个错误,指出“ORA-00942:表或视图不存在”。
该表存在,如果我在调试器中挂接,在查询中更改空格或其他小东西(不更改查询本身),然后热部署更改,它就可以正常工作。这不是我第一次遇到这种情况。它似乎只发生在开发环境中(还没有在 q/a、沙盒或生产环境中看到它),并不总是可复制的,这让我非常疯狂。
并非总是可复制的,我的意思是偶尔干净的构建和重新部署有时会解决问题,但并非总是如此。它并不总是同一个表(尽管如果发生错误,它会继续使用相同的查询)。
只是在外面试一下,看看是否有人以前遇到过这样的问题,以及他们可能发现了什么来解决它。