Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Middle ground between JDBC and Hibernate?

We've been implementing Hibernate recently as a replacement for JDBC.

What I like is not having to constantly write SELECT, UPDATE, INSERT statements and the associated PreparedStatement and ResultSet code.

However we've been struggling with random bizarre behavior (example A) which I find hard to understand and resolve due to all the different configuration/feature options and the associated Hibernate behavior. I find some of the features like caching, lazy loading, etc, etc very cool but way more than I need - and ultimately confusing.

Is there a better middle ground for someone just looking to avoid the tediousness of JDBC but who doesn't need all the features of Hibernate?

like image 568
Marcus Leon Avatar asked Oct 19 '25 09:10

Marcus Leon


1 Answers

not completely avoiding jdbc, but ... my suggestion is to use the jbdc support provided by spring framework. You still need to write your select, update and inserts, but spring nicely wraps it so you usually don't care about the result set, closing connections, cleaning up your code and such.

Have a look at this chapter from the spring documentations to see the details. You can create an entire dao layer that appears just like the hibernate dao layer, but the internal implementation is different. The RowMapper interface lets you handle the conversion from result sets to objects very nicely. Overall it provides a clean separation of concerns.

(another alternative is to use iBATIS for lightweight O/R mapping, or at least to keep your sql queries outside of Java code).

like image 78
Yoni Avatar answered Oct 21 '25 22:10

Yoni



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!