我有一个spring启动应用程序,它连接到progressopenedge数据库(不是postgree)。
但是我在尝试从progress表获取数据时遇到了一些问题,当我调用“findall()”或“findbyid()”等方法时,它会返回以下错误:
Table/view/synonynm "EMS2ESP.INTEG_TABLE_003C" cannot be found. (15814) (-210083)
但“ems2esp”数据库中确实存在“integ\ u table\ u003c”。当直接运行select时,它工作正常。
我正在application.properties中尝试以下属性:
spring.datasource.url=jdbc:datadirect:openedge://HOM-DB-01:25475;databaseName=ems2esp
spring.datasource.username=sysprogress
spring.datasource.password=sysprogress
spring.datasource.driver-class-name=com.ddtek.jdbc.openedge.OpenEdgeDriver
spring.datasource.database-platform=org.hibernate.dialect.SQLServerDialect
这是我的一个实体:
@Entity
@Table(name = "INTEG_TABLE_003C")
@Data
public class Progress003c extends IntegTable003c {
// Class properties and etc...
}
我想让spring从生成的查询中删除“ems2esp”模式,因为我看到一些在线帖子说这可能会导致上面的错误。
我该怎么做?谢谢您
1条答案
按热度按时间gg58donl1#
我通过以下方法解决了这个问题:
在“application.properties”中,我放了以下几行
在连接字符串中,我添加了“;initializationstring=在最后设置架构“pub”。现在看起来是这样的:
此外,我还必须确保@table annotation中的“schema”属性不应被定义: