tags:

views:

144

answers:

4

I am coming back to Java from Ruby and ActiveRecord and want to use something as easy as ActiveRecord in Ruby. What options do I have?

+1  A: 

I like JPA myself (Java Persistence API). Easy to configure and with the right tools you can generate the database from classes or generate the classes from the database. It's easy to configure your classes with the annotations that you can use.

I use the OpenJPA implementation myself.

Mark Baijens
+1  A: 

It'll probably some sort of Object Relational Mapping framework you end up using. Grails (a Java Rails like framework) has GORM:

http://www.grails.org/GORM

If you're not using a web framework like that then it'll prob. be some sort of ORM framework - Hibernate, OpenJPA etc...

http://www.hibernate.org/

If you don't want to do the full heavyweight ORM way then look at something like MyBatis (used to be iBatis) which has SQLMaps:

http://www.mybatis.org/

Jon
I will use only the Java language to access the database.
Zubair
Sure, all of the above are Java frameworks, including Grails - which is built on top of Spring.
Jon
@Jon: Grails is a *Groovy* (not Java) Rails-like framework. Many of its features, including GORM, cannot be used effectively from Java code.
Michael Borgwardt
No indeed, which is why I said "If you're not using a web framework like that (Grails) then it'll prob be some sort of ORM framework"... My mistake for blanketing Grails as a Java based framework - it is indeed Groovy not Java...
Jon
I will be using this from Vaadin, which is the Java language
Zubair
+3  A: 

Hibernate provides very nice ActiveRecord-like access. There are tools to reverse-engineer models from the database. I keep it simple and it works well for me.

Tony Ennis
+2  A: 

There is a project that a colleague recently released called ActiveJDBC that is an implementation of ActiveRecord for Java.

Larry Smithmier
Actually I have used active jdbc. Quite good, except that it needs a precompile stage to add annotations to all the classes representing the models. Another problem is that not many large scale projects using it in production.
Zubair