Java is an excellent Object Oriented language that allows developers to write sophisticated, powerful, enterprise scale applications. Such applications typically involve a large amount of data that must be stored somewhere for future use. That is, the data in the objects within the JVM must be persisted using some form of …
Jalapeño is a tool to abstract your developer from the persistence layer in a Caché database. Hibernate is a tool to abstract your developer from the persistence layer in a (general) relational database. Comparing these two is a bit like comparing apples and oranges...
Object databases are a good choice for a limited set of applications, relational databases are a good choice for a broader set of applications (and give you *way* more opportunity to shoot yourself in the foot).
No matter what "abstraction" tool you choose, if you choose the wrong persistence model, you'll be in a world of pain.
Ultimately, *ANY* tool that keeps your developer from understanding how data is persisted is a tool that will only cause grief at scale. The more abstracted the persistence, the bigger pain in solving the inevitable problems.
Nay, give me a human developer with a brain on his shoulder and some actual experience building large-scale systems. That person can do code reviews and teach solid techniques.
Spend more time up-front in development, spend less time "post-release" chasing fires. Sadly, deadline-driven development doesn't accept this.
I've been using Hibernate Annotations since I started using Hibernate about a year and a half ago. The only XML file I need to touch is the one listing the classes, which is hardly a huge overhead.
Admittedly having the mapping details in the same source as the domain object reduces separation, but I suspect that will very rarely be an issue - and XML configuration is always an option if necessary.
Hibernate also offers XML free mappings via Hibernate Annotations - most of the annotations seem to be standard EJB 3.
Database Independence with Jalapeño
Jalapeño does support database independence by providing an export utility that will convert the Caché class schema (originally derived from pure Java class definitions) to a DDL file that can be imported into a relational database. The Object Manager automatically uses object persistence methods (Open, Save, New, Delete) when accessing Caché, and relational persistence methods (Select, Update, Insert, Delete) when it is configured to connect to a relational database.
Storing XML in a relational database
Hibernate 3.x provides XML to relational database mapping for storing XML documents, which Jalapeno doesn't.
- World's OLDEST human DNA found in leg bone – but that's not the only boning going on...
- Facebook offshores HUGE WAD OF CASH to Caymans - via Ireland
- Microsoft teams up with Feds, Europol in ZeroAccess botnet zombie hunt
- Three offers free US roaming, confirms stealth 4G rollout
- Justin Bieber BEGGED for a $200k RIM JOB – and got REJECTED