The Softer Blog


POJOs Considered Sexy

Transparent persistence, orthogonal persistence and POJO persistence all have the same meaning and imply the same formidable thing:

You get to use objects without worrying about database restraints.

As such, transparent persistence has been a long-sought "holy grail" in the industry. The EJB 3.o Specification (JSR-220) early draft cites as one of its goals:
"Enterprise beans are simplified to more closely resemble plain Java objects ('POJOs') or JavaBeans."

"To more closely resemble" is the kind of humility and respect you would expect when referring to the holy grail of POJO persistence. Appropriately so, it is the only reference to POJOs in the entire spec because, the minute you force it to implement or use an API, by definition, it is no loger a POJO and all its magical properties are gone.

Linda DeMichiel and Craig Russell, though, "Specification Leads, JSR-220 and JSR-243", simply decided to hijack the definition of POJO from Martin Fowler and, thanks to their "A Letter to the Java Technology Community" the new JDO+EJB overhead is now known as "POJO persistence".

Helping out on the "If I can't have transparent POJO persistence, nobody will" front, Rod Johnson and Jim Clark have even redefined transparent persistence:
"Such technologies ... are often said to deliver transparent persistence—the ability for an object-relational mapping product to directly manipulate (using an object programming language) data stored in a relational database."
With that brand new definition, now even JDBC provides transparent persistence!

Notice the "are often said" disclaimer in the quote above. Marketing people can make techies write all sorts of stuff but there are limits to the rubbish they will take credit for.

So What?

If people believe a fake, they will stop looking for the real thing.

To the newcomer, technologies that actually do provide transparent persistence will be no better than grotesque JDO and EJB stuff.

The Motive

Why would these people do something like this?

Many are simpy repeating what these guys are saying out of sheer ignorance. But, from the gate-keepers themselves, one has to expect more than that.

I can't say for sure why they did it, but one thing is certain: "POJO persistence" does sound much sexier than "yet another intrusive persistence API". ;)

Klaus Wuestefeld
Prevayler - "Persistence is Futile"