2009-07-04 98 views
27

在Linq(對SQL和Objects)以及最近來自Microsoft的實體框架中,我想知道非.NET(特別是Java)等價物是什麼?什麼是Linq和實體框架的Java等價物

+2

對於Linq的對象檢查這一個:github.com/nicholas22/jpropel-light,真實的例子:new String [] {「james」,「john」,「john」,「eddie」} 。。凡(startsWith( 「J」))toList()不同(); – 2011-10-08 10:20:32

回答

3

Java沒有Linq等價物。然而,編譯爲Java字節碼的函數式語言Scala有一些關閉的東西:擴展的for循環語法。

4

有一個名爲JoSQL的Java項目,它使用類似SQL的語法提供對象查詢功能。
雖然我自己並沒有使用它,但我知道它在一些重量級應用程序中使用。

+0

這看起來很有趣。這不是一個數據庫工具,而是一種使用SQL來操作Java對象(如LINQ to Objects)的方法。 – 2009-07-05 05:15:33

2

看看JaQue

+0

更好的鏈接:http://code.google.com/p/jaque/ – 2009-07-05 01:30:58

2

對於數據庫繁重的工作,SQLJ可能是一個選項。缺點是它不是純Java,需要預處理器。

17

考慮使用Querydsl:http://www.querydsl.com

它支持JPA /休眠,JDO,SQL和收藏。

Querydsl是完全類型安全的,支持IDE中的自動完成,並在多個後端頂部提供常用查詢語法。

我是Querydsl的維護者,我前段時間寫了一個comparison to other frameworks

據稍有偏差,但顯示了不同的側重點

  • 靜態類型與否
  • 其後端支持
  • 是查詢構造級聯或接口不

較新框架也用閉包語法進行實驗。

+1

爲什麼這被標記爲垃圾郵件?就我所見,回答這個問題。 – Yacoby 2010-05-16 10:00:47

0

沒有確切的選擇,這是通用的,因爲LINQ是。但是,如果我們正在討論LINQ to SQL,那麼當您將它與支持「注入語言」功能的IDE結合使用時,JPA真是一種替代方案。例如。 IDEA將在字符串內完成JPA查詢的全面完成

2

對於LINQ(LINQ到對象更準確),你可以使用流從Java 8

開始這並不適用於然而,只有像集合和列表內部對象數據庫工作

這是真的強大的,但沒有完全支持LINQ(在我看來)

退房本教程 - http://www.oracle.com/technetwork/articles/java/ma14-java-se-8-streams-2177646.html

至於實體框架沒有什麼很強大,我還沒有發現,但沒有試過所有的解決方案提供d在其他答案

相關問題