“如何设置Oracle连接属性”;includeSynonyms=true";在圣杯3中
我的Grails 3.3.2应用程序当前正在连接到Oracle 11g数据库,其中一些数据表与指向另一个数据库中的物理表的dblink同义。Grails应用程序启动时,引发了以下hibnerate异常: org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:表[tbl\U with\U同义词]中缺少列[col\u in\u in\u tbl\u with\u synonyms] 许多文章说,为了让Oracle返回元数据,hibernate可以找到列定义,必须将连接属性“如何设置Oracle连接属性”;includeSynonyms=true";在圣杯3中,oracle,grails,grails3,Oracle,Grails,Grails3,我的Grails 3.3.2应用程序当前正在连接到Oracle 11g数据库,其中一些数据表与指向另一个数据库中的物理表的dblink同义。Grails应用程序启动时,引发了以下hibnerate异常: org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:表[tbl\U with\U同义词]中缺少列[col\u in\u in\u tbl\u with\u synonyms] 许多文章说,为了让Oracle返回元数据,hibe
includeSynoyms
设置为true
。因此,我尝试以不同的方式设置includeSynoyms=true,但仍然无法使其正常工作,并且总是出现上述错误,无论我使用的是ojdbc6还是ojbc8驱动程序
我知道我可以将dbCreate:none
设置为绕过验证作为解决方法,但是使用验证可以更早地发现映射问题,这应该是一个好主意
下面是我的配置供参考,有什么想法吗?谢谢
build.gradle
bootRun{
jvmArgs=['-Doracle.jdbc.includeSynonyms=true']
}
application.yml
spring:
...
数据源:
数据库属性:
includeSynonyms:真
同义词:真
连接属性:
includeSynonyms:真
同义词:真
连接属性:
includeSynonyms:真
同义词:真
冬眠:
...
同义词:真
includeSynonyms:真
数据源:
数据源:
driverClassName:oracle.jdbc.OracleDriver
方言:org.hibernate.dialen.oracle10galent
dbCreate:validate
数据库属性:
includeSynonyms:真
同义词:真
连接属性:
includeSynonyms:真
同义词:真
连接属性:
includeSynonyms:真
同义词:真
...
特性:
...
includeSynonyms:真
同义词:真
数据库属性:
includeSynonyms:真
同义词:真
连接属性:
includeSynonyms:真
同义词:真
连接属性:
includeSynonyms:真
同义词:真
我也有同样的问题。我想要“validate”,但我必须将其设置为“none”(并且所有操作都没有,但没有理想)。下面是一个稍微不同的sugar语法回答: