Difference Between JDO and Value Object
JDO is a technology of Java persistence which can be used to keep POJO (Plain Old Java Objects) in databases without the need to understand underlying – applications of different stores of data. The Value Object (called the Object of Data transfer) is an abstract design blueprint which introduces the concept of a simple holder of data to transfer data between the numerous layers and tiers.
What is JDO?
JDO (Java Data Objects) is responsible to provide persistence in access to database and Java objects. JDO is extremely transparent because it allows the developers of Java applications to dig out underling data without having to write any specific code in databases. XML is used in JDO with the enhancement of bytecode. Main advantage to use the JDO API consists of the fact that they can keep data without the need to learn a new language of query like SQL (which depends on the type of storage of data). JDO is very easy to use since the developers can concentrate only on their model of object of domain. Not only that, JDO optimizes code in isolation according to the admittance of data. Because the JDO API is not strict on the type of the storage of data, the same interface can be used by the developers of application of Java to keep Java objects in any store of data that also includes relational database, database of object or XML. JDO is extremely portable because modification or recompilation is not necessary to run on different vendor applications.
What is the Value Object?
The Value Object that is also called the Data transfer Objects (DTO) is a simple abstract design blueprint which is in charge of a data container to facilitate data transfer between different tiers and layers. The most precise term for these patterns is Data transfer Object, owing to an error in Core J2EE’ s first version it was introduced as the Value Object. Although this error is corrected in the 2nd edition, this name became popular and is always used heavily instead of the Data transfer Object (but it should be noted that correct term is the Data transfer Object). The pattern of design of DTO is used with beans of entity, JDBC and JDO to rectify problems occurring as regards to isolation and transactions in the business applications. It is important to note that these are only simple data holders used to transfer data between the customer and database and they provide no persistence of any kind. In traditional EJB, DTO acts as serializable objects. In a separated phase of assembly defined by DTO, all data used by view are acquired and gathered before the release of control in the layer of presentation.
What is difference between the Object of Value and JDO?
JDO is really a technology of persistence used to keep objects of Java in databases which provides the advantage to its developers by manipulating all details at applications level and helps developers to concentrate on coding that is not database specific. But, the Value Objects represents an abstracted design blueprint (no technology) which provides a generic holder of data known as Data transfer Object which can hold data so that it can be transferred between the customer and databases. JDO provides the advantage of persisting data, while the Value Object is in charge of keeping data provisionally during the period of data transfer only. In other words, the Value Object does not provide persistence.