为什么SQLJ死了?

Ale*_*lls 5 orm sqlj

有谁知道为什么那是很久以前的罐头?看起来好像不是一个坏主意.我非常天真的猜测是,ORM工具不需要SQLJ,也填补了空白.无论如何,仍然很好奇.

Luk*_*der 7

这不是一个权威的答案,但我可以看到这些原因:

  • 在2000年代早期,强大的IDE(Eclipse,Netbeans,JBuilder)进入了Java生态系统.SQLJ不适用于IDE
  • 在2000年代中期,每个人都认为SQL本身已经死了,因为ORM开始隐藏SQL
  • 今天,有更多类型安全的替代品,如jOOQ(或.NET中的LINQ.免责声明:我为jOOQ背后的公司工作).

此外,SQLJ还有两个主要缺陷:

  • SQLJ简化了嵌入式SQL,但从未带来任何额外的编译时安全性,例如类型检查和语法检查.
  • SQLJ适用于静态SQL,但动态SQL(具有动态谓词或表源组合)无法轻松实现.