关于FlexibleSearchUtils.buildOracleCompatibleCollectionStatement

2020-09-24 10:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我偶然发现了此方法 Flexib...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我偶然发现了此方法 FlexibleSearchUtils.buildOracleCompatibleCollectionStatement

我猜想,如果我想使用Oracle数据库,在创建灵活搜索时可能会想使用这种方法。

现在,我想知道我们是否希望应用程序代码依赖于数据库。 在hybris中,我们通常不会在使用其他数据库时遇到问题。 例如,在开发过程中,可能会使用HSQLDB,而在生产中则不会使用。 (无论如何,这是一个可争议的话题,我更喜欢与目标数据库一起开发)

回到最初的主题,使我的应用程序减少DB依赖,我当然想使用 FlexibleSearchUtils.buildOracleCompatibleCollectionStatement 。 唯一的缺点是它将在每次数据库是否为Oracle时都进行测试。 另外,该名称也不应包含" Oracle",因为此方法适用于所有数据库(使用Oracle时只有一种特殊处理)

另一方面,我在文档中看不到对此方法的任何引用。

所以总是使用 FlexibleSearchUtils.buildOracleCompatibleCollectionStatement 是好还是坏的做法?

2条回答
木偶小白
2020-09-24 11:27 .采纳回答

你好,阿兰,

您可能已经知道,可以发送到Oracle DB的参数数量受到限制。 隐式 FlexibleSearchUtils.buildOracleCompatibleCollectionStatement 可以帮助解决这一问题。 其中唯一的Oracle特定代码是对DB == ORACLE的检查。 如果您希望自定义查询中的输入参数超过1000个,我建议您使用FlexibleSearchUtils。 如果您切换到Oracle DB,则您的项目将无需进行任何调整即可克服Oracle限制特定的错误。

希望这会有所帮助!

亲切的问候,
瑞莎

一周热门 更多>