InfoQ

News

JLINQ: Runtime JDBC Generator for Eclipse

Posted by Rob Thornton on Aug 30, 2007

Community
Java
Topics
Data Access
Tags
Hibernate ,
Eclipse ,
JDBC ,
IDEs ,
JPA

Azadeh Ahadian of IBM has published an article introducing JLINQ on IBM's developerWorks site. She bills it as "IBM's new paradigm for writing Java database applications". Despite the name, JLINQ does not have much in common with Microsoft's LINQ, rather it is an Eclipse plugin providing integration with a database and runtime DAO code generation. The plugin is part of IBM's Developer Workbench that is coming with Viper, the next release of DB2.

JLINQ is an Eclipse plugin that provides the ability to navigate databases and to generate Java objects from tables or SQL statements. There are three use cases outlined by Ahadian:

  • Database-driven objectization (DDO): Select a table and to generate the objects for data access and manipulation, otherwise referred to as CRUD (create, replace, update, delete). This is where JLINQ generates the OO-based classes and interfaces required to perform the CRUD operations on the selected tables.
  • Query-driven objectization (QDO): The JLINQ system, through a simple point-and-click selection of a query statement and in an intuitive GUI manner via a pop-up context menu, can easily be asked to generate the relevant object class hierarchies.
  • Object-relational mapping (ORM): JLINQ provides an mechanism to perform a one-to-one mapping of a class name to a given table name residing in the underlying database, as well as the ability to map the class's protected (or public) variables to that table's columns.

JLINQ generates interfaces that have similar annotations to JPA at design time. At compile time, JLINQ generates implementations of those interfaces that handle CRUD operations of your objects. While Ahadian refers to JLINQ as an ORM tool, it does not appear to provide any of the advanced features taken for granted in a tool like Hibernate, including polymorphism, composition, and caching. There is not even mention of support for associations in the article or release notes. The integration into Eclipse is nice and will save some developer time, but with options like JPA and Hibernate, JLINQ will have trouble gaining much traction.

Initial reactions have been focused on the poor naming, as JLINQ is not similar to the functionality of Microsoft's LINQ. Jesse Davis describes the difference:

LINQ stands for Language INtegrated Query, which this clearly is not. I don't know if Microsoft has any rights to the name LINQ or not, but I think it very poor form of IBM to actually use the term for something that is not technically correct. LINQ is something that is actually integrated into the programming language itself. ...JLINQ is nothing of the sort. This is merely a new ORM style code generator for Eclipse that IBM has made.

There was also a thread on Channel9 disparaging the choice of name.

JOSQL by cowardly dragon Posted Aug 31, 2007 12:25 PM
  1. Back to top

    JOSQL

    Aug 31, 2007 12:25 PM by cowardly dragon

    People should check out JOSQL for more LINQ-like functionality for java. It's pretty neat.

    I agree, the JLINQ name is explicitly misleading.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.