一尘不染

LINQ for Java工具

mysql

LINQ for Java是有用的工具吗?我一直在研究一种工具,该工具将允许Java对象映射到数据库中的行。

  1. 这对Java程序员有用吗?
  2. 哪些功能会有用?

阅读 239

收藏
2020-05-17

共1个答案

一尘不染

LINQ for Java会很漂亮,但是问题是语言集成。

Java没有lambda表达式那么简洁,它们是LINQ的基础之一。我想他们 可以
通过使扩展创建匿名内部类,从而在没有lambda表达式的情况下将查询表达式支持置于普通Java之上,但这将非常丑陋。如果您想执行类似LINQ to
SQL的操作,则还需要表达式树。

受检查的异常 可能 会妨碍您,但我们必须要看到。等同于IQueryable的对象将需要某种常规的已检查异常-或可能在元素类型和异常类型中都是通用的…

无论如何,这都是天上掉馅饼-
鉴于Java社区在使用闭包方面遇到的麻烦,我认为在Java本身早于2012年之前预料像LINQ这样的事情是愚蠢的。当然,这并不是说用“类似于Java”的语言是不可能的。例如,Groovy已经具有某些有用的方面。

对于库方面,Hibernate已经提供了LINQ to SQL的许多功能的“非集成”版本。对于LINQ to Objects,您应该查看Google
Java Collections API-
这是很多相同的东西(过滤,投影等)。当然,没有lambda的话,使用起来就很麻烦了-
但它仍然非常方便。(我一直在工作中使用Google收藏夹代码,但我不想回到“原始的” Java收藏夹。)

2020-05-17