[java] LINQ와 동등한 Java는 무엇입니까? [닫은]

LINQ와 동등한 Java는 무엇입니까?



답변

LINQ for Java와 같은 것은 없습니다.

편집하다

이제 Java 8에서는 Stream API를 소개합니다. 이것은 컬렉션을 다룰 때와 비슷한 종류이지만 Linq와는 다릅니다.

Entity Framework와 같은 ORM이라면 Hibernate 를 사용해 볼 수 있습니다.

🙂


답변

다른 솔루션 인 Coollection이 있습니다.

Coolection은 새로운 람다 인 것처럼 보이지만이 라이브러리가 도움이 될 오래된 레거시 Java 프로젝트로 둘러싸여 있습니다. 다음과 같이 컬렉션에서 가장 많이 사용되는 반복 작업 만 포함하여 사용 및 확장이 매우 간단합니다.

from(people).where("name", eq("Arthur")).first();
from(people).where("age", lessThan(20)).all();
from(people).where("name", not(contains("Francine"))).all();


답변

람다는 이제 JSR-335-JavaTM 프로그래밍 언어를위한 람다 식 의 형태로 Java 8에서 사용 가능합니다.

업데이트 : JDK8이 릴리스 되어 프로젝트 람다가 포함되어 있습니다. 현재 여전히 MEAP 에서 Java 8 의 사본을 가져 오는 것이 좋습니다.

스트림, 내부 반복, 단락 및 생성자 참조에 대한 이해를 얻는 동시에 JDK8 내에서 람다가 어떻게 구현되는지에 대한 적절한 이해를 위해 람다와 관련된 Brian Goetz 기사를 읽으십시오 . 또한 JSR을 확인하여 추가 예제를 얻으십시오. .

필자는 JDK8에서 람다를 사용하여 얻을 수있는 장점 인 The Power of the Arrow 에 대한 블로그를 작성했습니다 . 또한 NetBeans 8 은 JDK8로 구문을 변환하는 데 큰 도움을 주며 NetBeans를 사용하여 JDK 8로 마이그레이션에 대해 블로그를 작성했습니다 .


답변

lambdaj 라이브러리를 사용하여 더 읽기 쉬운 방식으로 컬렉션의 항목 등을 선택할 수 있습니다

https://code.google.com/archive/p/lambdaj/

그것은 마법의 문자열을 사용하지 않기 때문에 Quaere 라이브러리에 비해 몇 가지 장점이 있으며, 완전히 안전합니다. 제 생각에는 더 읽기 쉬운 DSL을 제공합니다.


답변

javacc 를 사용하여 고유 한 항목 을 작성 하지 않으면 LINQ 항목을 찾을 수 없습니다 .

누군가가 그렇게 할 수있는 실용적인 방법을 찾을 때까지 다음과 같은 좋은 대안이 있습니다.


답변

LINQ to Objects -JAVA 8에는 값 스트림에서 기능 스타일 작업을 지원하는 Stream API가 추가되었습니다.

패키지 java.util.stream

Java 8 설명 : Java 콜렉션에 Lambdas 적용

LINQ to SQL / NHibernate 등 (데이터베이스 쿼리) -하나의 옵션은 새로운 JAVA 8 기능을 사용하고 2014 년 2 월 26 일 Github에서 릴리스 된 JINQ를 사용하는 것입니다 : https://github.com/my2iu/Jinq

Jinq는 개발자에게 Java로 데이터베이스 쿼리를 작성하는 쉽고 자연스러운 방법을 제공합니다. 컬렉션에 저장된 일반 Java 객체처럼 데이터베이스 데이터를 처리 할 수 ​​있습니다. 일반적인 Java 명령을 사용하여 반복하고 필터링 할 수 있으며 모든 코드가 자동으로 최적화 된 데이터베이스 쿼리로 변환됩니다. 마지막으로 LINQ 스타일 쿼리를 Java에 사용할 수 있습니다!

JINQ 프로젝트 사이트 : http://www.jinq.org/


답변

quaere 라는 프로젝트가 있습니다 .

컬렉션을 쿼리하는 기능을 추가하는 Java 프레임 워크입니다.

참고 : 저자에 따르면 프로젝트는 더 이상 유지되지 않습니다.