Do you understand the difference between PO, VO, DAO, BO, POJO?

Today, we come to all kinds of OOOOOOOOOOOO!

border-left: 3px solid rgb(0, 150, 136); box-sizing: border-box !important; overflow-wrap: break-word !important;”>VO

value object: The value object.

Usually used for data transfer between business layers, created by new and recycled by GC.


persistant object: Persistent layer object.

Corresponds to the fields of the table in the database. VO and PO are both properties plus get and set methods for properties; on the surface, they don’t look different, but they mean something completely different.


data transfer object: Data transfer object.

There are more than a dozen fields in the table: id, name, gender (M/F), age, companyId (such as 001)…

The page needs to Display four fields: name, gender (male/female), age, companyName (now Toutiao Co., Ltd.).

The resulting DTO can improve the speed of data transmission (reduce the transmission field) and hide the back-end table structure.

Do you understand the difference between PO, VO, DAO, BO, POJO?


business object: The business object.

BO encapsulates business logic as an object. I understand that it is a combination of POs. For example, the insured is a PO, the insured is a PO, the insurance information is a PO, etc. They are combined to be the BO of the first policy.


plain ordinary java object: A simple and irregular java object.

Pure traditional java object, the most basic Java Bean has only attributes plus the get and set methods of attributes. It can be converted into PO, DTO, VO; for example, POJO is DTO during the transmission process.


data access object: Data access object.

It is mainly used to encapsulate the access to the data. Note that it is the access to the data, not the access to the database.

The Links:   FF600R12IP4 LMG5278XUFC-00T