Return-Path: Delivered-To: apmail-incubator-gora-dev-archive@minotaur.apache.org Received: (qmail 83574 invoked from network); 27 Oct 2010 08:51:44 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 27 Oct 2010 08:51:44 -0000 Received: (qmail 66518 invoked by uid 500); 27 Oct 2010 08:51:44 -0000 Delivered-To: apmail-incubator-gora-dev-archive@incubator.apache.org Received: (qmail 66496 invoked by uid 500); 27 Oct 2010 08:51:44 -0000 Mailing-List: contact gora-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: gora-dev@incubator.apache.org Delivered-To: mailing list gora-dev@incubator.apache.org Received: (qmail 66487 invoked by uid 99); 27 Oct 2010 08:51:43 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Oct 2010 08:51:43 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of enis.soz@gmail.com designates 209.85.214.47 as permitted sender) Received: from [209.85.214.47] (HELO mail-bw0-f47.google.com) (209.85.214.47) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Oct 2010 08:51:37 +0000 Received: by bwz10 with SMTP id 10so324825bwz.6 for ; Wed, 27 Oct 2010 01:51:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type; bh=vZNIcdi8VhTA18hLHmQhhdh9ElnBX6tfxWP4w4bV1iY=; b=eLNCO5y51CoPPM4c2IBXAtyHG+i2VhtQcxZCcbKu9rp783LDB/Rlxk18k/Bk56pEiN PPPWj+AodWZcp139RDmNHws2IKrhVwpwHUrPumz+MxaNvTUdXA4jaZd15xXCqXz9Sfw3 bwgl9uqJaUXgpNvtwxhwE9oI7279We++or21E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=lmI5XdTIoGyElWlXGeN7YtsZtyEbM0AhyhpEvqEu+YEu791zh+GUB/gSjvhFV9kHzi uI0XyplaGy1Oi3nHB/yYtg6VMkWIDhJ6zTfvQzfLcedaVVVSzzx4LvBoldwzb++lxQVU UboKDsi0tCEtLbEKq9zkR9iHYRmFYfZ/i5bu8= Received: by 10.204.84.148 with SMTP id j20mr7122252bkl.149.1288169475869; Wed, 27 Oct 2010 01:51:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.103.82 with HTTP; Wed, 27 Oct 2010 01:50:55 -0700 (PDT) In-Reply-To: <4CC5902F.9000701@mysema.com> References: <4CC5902F.9000701@mysema.com> From: =?UTF-8?Q?Enis_S=C3=B6ztutar?= Date: Wed, 27 Oct 2010 11:50:55 +0300 Message-ID: Subject: Re: Type-safe queries for Gora? To: gora-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=0016e6ddab7f050c3f04939554d8 X-Virus-Checked: Checked by ClamAV on apache.org --0016e6ddab7f050c3f04939554d8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, Querydsl seems nice indeed. I too dislike dealing with string queries. We will be glad to collaborate on this. However, there is no string query support yet at Gora. The Query interface is completely programmatic. Do you propose to wrap current code with querydsl API ? Enis On Mon, Oct 25, 2010 at 5:11 PM, Timo Westk=C3=A4mper wrote: > Hello everybody. > > I am the maintainer of Querydsl, a typesafe query language for Java. > Querydsl supports backends like JPA, JDO, SQL, Lucene and Mongodb and we > would like to know if you guys would like to collaborate on bringing > type-safe query support to Gora. > > The benefits of using Querydsl in comparison to string based queries are > > * code completion in IDE > * almost no syntactically invalid queries allowed (type-safe on all > levels) > * domain types and properties can be referenced safely (no Strings > involved!) > * adopts better to refactoring changes in domain types > * incremental Query definition is easier > > The homepage of Querydsl provides basic information on our project : > http://source.mysema.com/display/querydsl/Querydsl > > Querydsl uses APT processors to scan for annotated domain types and > generates a Query model based on the annotated sources. The query model c= an > then be used to construct queries. > > Here is an example for JPA > > QCustomer customer =3D QCustomer.customer; // query model type > JPQLQuery query =3Dnew HibernateQuery (session); // query instance > Customer bob =3D query.from(customer) > .where(customer.firstName.eq("Bob")) > .uniqueResult(customer); > > > What do you think? > > Best regards, > Timo Westk=C3=A4mper > > --0016e6ddab7f050c3f04939554d8--