EclipseLink / JPA是否具有用于修改生成的SQL的插件框架?

问题描述 投票:1回答:1

背景:总是使ORM用户困惑的一件事是SQL中的null被区别对待,99%的编程语言(主要是null == null在几乎所有地方都是true,但在ANSI SQL中是null == null) 。

EclipseLink 将为null的绑定参数转换为正确的false,而是出现IS NULL错误。

SQL具有空安全比较运算符:WHERE table.field = null

我们想以某种方式更改SQL的生成,因此它始终在where子句中使用https://twitter.com/gabidavila/status/1101987501923811328运算符。 EclipseLink中是否有设施可以做到这一点?我们可以以某种方式扩展其中一种方言吗?

替代方法是为每个单一比较编写类似的代码,]。

<=>

谢谢!

背景:一件事总是把ORM用户弄得一团糟,在SQL中,null的区别非常大,因为99%的编程语言,主要是null == null在几乎所有地方都是正确的,但null == null是...

java mysql sql jpa eclipselink
1个回答
1
投票
您可以指定DatabasePlatform类,并在其中添加所需的任何运算符。请参阅SQLServerPlatform initializePlatformOperators方法,作为有关如何为SQLServer DB设置特定运算符的示例。您可能想使用任何可用于您的数据库的运算符覆盖ad​​dOperator(simpleRelation(Equal,“ =”,“ equal”))。
© www.soinside.com 2019 - 2024. All rights reserved.