POJO is an acronym for Plain Old Java Object, and is favoured by advocates of the idea that the simpler the design, the better. The name is used to emphasize that the object in question is an ordinary Java Object, not a special object, and in particular not an Enterprise JavaBean (especially before EJB 3). The term was coined by Martin Fowler, Rebecca Parsons and Josh MacKenzie in September 2000.
Joined: Jan 25, 2007
Please elaborate some more coz i could not find much about it in google.
Before EJB version 3, the EJB API was very complicated. To create an EJB you had to write multiple classes and interfaces in which you had to implement special methods, and you also had to write a complicated XML deployment descriptor for your EJB.
That complexity made EJBs not very popular. So EJBs, especially entity EJBs, got out of fashion, and simpler frameworks and libraries such as Hibernate and the Spring Framework became popular.
With these, you could forget about the complex magic needed to write EJBs; instead, you could use simple, normal Java objects (POJOs = Plain Old Java Objects).
Sun has learned from this, and in version 3, EJBs have inherited many of the features of Hibernate, which makes it much easier to write them. A v3 EJB is not much more than a simple POJO with annotations. No need to write home and remote interfaces and XML deployment descriptors, as with old-style EJBs.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
I actually read a book a few years that talked about POJOs constantly, and never explained the term. I mean, I went back to find one, just one place where they defined it. I didn't know what on earth they were talking about. I mean, you can't exactly sound it out and make sense of it.
Plain Old Java Object. I've seen Plain ordinary Java Object used as well.
The idea is, many frameworks complicate processes by using XML and Homes and Interfaces and stubs and skeletons and this and that and the other thing, when in reality, quite often a very simple, plain old Java object would probably do the trick just as well, be more efficient, and be easier to manage in the long run.