Last Updated on April 16, 2022
Oracle is a computer technology corporation best known for its software products and services like Java.
In 2020, Oracle was the second-largest software company in the world by revenue and market capitalization. They employ over 130,000 people, and sell cloud-engineering services and systems and database management systems.
Oracle has a fairly prominent position with open source. They are a supporting member of the Linux Foundation, Cloud Native Computing Foundation, Eclipse Foundation, and the Java Community Process.
Through its acquisition of Sun Microsystems in 2010, Oracle also became the steward of many other important and long-running open source projects such as the Java programming language and the MySQL relational database, introduced in 1995. The acquisition of Sleepycat Software, brought the open source Berkeley DB key/value store.
The company co-develops the OpenJDK, an open source implementation of the Java Platform Standard Edition, and Btrfs, a B-tree file system. They also open source the Oracle Coherence Community Edition, NetBeans, and produce Oracle Linux which is a Linux distro compiled from Red Hat Enterprise Linux source code.
While Oracle develops and distributes open source software, they have many different business models. The majority of their products are published under a proprietary license. This series looks at free and open source alternatives to Oracle’s products.
Oracle TopLink is a mapping and persistence framework for Java developers. It is an object-persistence and object-transformation framework.
Object–relational mapping in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages.
What are the best free and open source alternatives for TopLink designed for Java developers?
1. MyBatis
MyBatis is a persistence framework with support for custom SQL, stored procedures and advanced mappings.
MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.
2. Hibernate ORM
Hibernate ORM enables developers to more easily write applications whose data outlives the application process.
As an Object/Relational Mapping (ORM) framework, Hibernate is concerned with data persistence as it applies to relational databases (via JDBC).
3. Apache Cayenne
Apache Cayenne is a persistence framework.
Cayenne can address a wide range of persistence needs. Cayenne seamlessly binds one or more database schemas directly to Java objects, managing atomic commit and rollbacks, SQL generation, joins, sequences, and more. With Cayenne’s Remote Object Persistence, those Java objects can even be persisted out to clients via Web Services.
All articles in this series:
Alternatives to Oracle's Products | |
---|---|
Business Intelligence is business analytics software that offers an integrated, end-to-end Enterprise Performance Management System. | |
Business Process Management is a complete set of tools for creating, executing, and optimizing business processes. | |
Database is a multi-model database management system often used for running online transaction processing, data warehousing and mixed database workloads. | |
JDeveloper covers the full development lifecycle from design through coding, debugging, optimization and profiling to deploying. | |
OC4J (Oracle Containers for J2EE) is a slimmed down version of Oracle Application Server. | |
MySQL is a relational database management system. It runs as a server and allows multiple users to manage and create numerous databases. | |
Siebel CRM delivers a combination of transactional, analytical, and engagement features to manage all customer-facing operations. | |
TopLink is a mapping and persistence framework for Java developers. It is an object-persistence and object-transformation framework. | |
Web Cache is a secure reverse proxy cache and a compression engine deployed between a browser and web server/content management server. |