点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我们正在Cloud Platform中进行应用程序开发。
在我们的项目中,我们正在使用JPA创建表。 当我在本地运行该应用程序时,JPA会正确创建具有所有方面(例如外键约束)的数据库表。 但是,当我尝试在hana数据库中创建表时,存在与约束相关的错误。 Hana无法识别JPA应用程序中定义的外键约束。 它正在创建没有任何关系的表,我的意思是即使我在类中定义基数,每个数据库表也在单独创建。 我分析了由JPA生成的查询,它生成ALTER TABLE查询以在本地数据库中定义外键约束。 我在hana中手动尝试了此查询,它可以工作。 但是我认为如果我们使用JPA触发databsae,它不会生成此查询。 我猜想,JPA在hana中创建表时不会生成ALTER TABLE查询。 有什么办法可以解决这个问题。
注意:我创建了hana mdc试用数据库,并定义了安全管理中的必要角色。
您好Gokhan,
您是否已在JPA持久性框架上将方言设置为Hana?
假设您使用的是EclipseLink,则应在性能上进行设置 .xml
如果您使用的是Hibernate,这里有一个教程 :
关于,
伊凡
伊万,你好
我实现了您建议的以下属性,并且该属性有效。 JPA向HANA数据库平台提供了外键约束。
我检查了源代码,您对supportsForeignKeyConstraints问题是正确的。 即使该方法对于HANA数据库平台返回false,但我不了解为什么此target-database属性起作用,但我还是有些困惑。 我想,HANA数据库可能有不同的实现技术。
在此源代码中,已经定义了supportsForeignKeyConstraints方法,并且该方法返回true。 在我们使用的属性中,我们引用了此DatabasePlatform.java类。 我认为,这就是它起作用的原因。
感谢您的帮助。
问候。
Gokhan。
我们遇到了同样的问题,我在eclipselink存储库中打开了一个拉取请求:
https://github.com/eclipse-ee4j/eclipselink/pull/491
一周热门 更多>