Khái Niệm Pojo Hay Pojos – Trong Ngôn Ngữ Java Là Gì

I”m not sure about the difference. I”m using Hibernate and, in some books, they use JavaBean and POJO as an interchangeable term. I want to know if there is a difference, not just in the Hibernate context, but as general concepts.

Đang xem: Pojos



A JavaBean follows certain conventions. Getter/setter naming, having a public default constructor, being serialisable etc. See JavaBeans Conventions for more details.

A POJO (plain-old-Java-object) isn”t rigorously defined. It”s a Java object that doesn”t have a requirement to implement a particular interface or derive from a particular base class, or make use of particular annotations in order to be compatible with a given framework, and can be any arbitrary (often relatively simple) Java object.

Improve this answer
edited Apr 30 “16 at 23:16
answered Sep 8 “09 at 14:18


Brian AgnewBrian Agnew
252k3636 gold badges313313 silver badges422422 bronze badges
| Show 3 more comments
All JavaBeans are POJOs but not all POJOs are JavaBeans.

A JavaBean is a Java object that satisfies certain programming conventions:

the JavaBean class must implement either Serializable or Externalizable;the JavaBean class must have a public no-arg constructor;all JavaBean properties must have public setter and getter methods (as appropriate);all JavaBean instance variables should be private.
Improve this answer
edited Sep 8 “17 at 6:39


Manu Manjunath
5,35211 gold badge2929 silver badges3030 bronze badges
answered Jul 22 “14 at 11:52


1,07111 gold badge77 silver badges22 bronze badges
Add a comment |
According to Martin Fowler a POJO is an object which encapsulates Business Logic while a Bean (except for the definition already stated in other answers) is little more than a container for holding data and the operations available on the object merely set and get data.

The term was coined while Rebecca Parsons, Josh MacKenzie and I were preparing for a talk at a conference in September 2000. In the talk we were pointing out the many benefits of encoding business logic into regular java objects rather than using Entity Beans. We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it”s caught on very nicely.

Improve this answer
answered Oct 12 “15 at 7:23
56555 silver badges1010 bronze badges
Add a comment |
Pojo – Plain old java object

pojo class is an ordinary class without any specialties,class totally loosely coupled from technology/framework.the class does not implements from technology/framework and does not extends from technology/framework api that class is called pojo class.

pojo class can implements interfaces and extend classes but the super class or interface should not be an technology/framework.

Examples :


class ABC{—-}ABC class not implementing or extending from technology/framework that”s why this is pojo class.


Xem thêm: ” On The Whole Nghĩa Là Gì, Whole Nghĩa Là Gì Trong Tiếng Anh

class ABC extends HttpServlet{—}ABC class extending from servlet technology api that”s why this is not a pojo class.


class ABC implements java.rmi.Remote{—-}ABC class implements from rmi api that”s why this is not a pojo class.


class ABC implements{—}this interface is part of java language not a part of technology/ this is pojo class.


class ABC extends Thread{–}here thread is also class of java language so this is also a pojo class.


class ABC extends Test{–}if Test class extends or implements from technologies/framework then ABC is also not a pojo class because it inherits the properties of Test class.if Test class is not a pojo class then ABC class also not a pojo class.


Xem thêm: Savegames For Gta 5 – Ultimate 100% Perfect Game Save

now this point is an exceptional case

Entityclass ABC{–}
Entity is an annotation given by hibernate api or jpa api but still we can call this class as pojo class.class with annotations given from technology/framework is called pojo class by this exceptional case.

Related Posts