after a search, I found http://www.querydsl.com/ -- seems reasonable and sound with the sql syntax