  This article presents an empirical study of how the use of relational
database access technologies in open source Java projects evolves over time.
Our observations may be useful to project managers to make more informed
decisions on which technologies to introduce into an existing project and when.
We selected 2,457 Java projects on GitHub using the low-level JDBC technology
and higher-level object relational mappings such as Hibernate XML configuration
files and JPA annotations. At a coarse-grained level, we analysed the
probability of introducing such technologies over time, as well as the
likelihood that multiple technologies co-occur within the same project. At a
fine-grained level, we analysed to which extent these different technologies
are used within the same set of project files. We also explored how the
introduction of a new database technology in a Java project impacts the use of
existing ones. We observed that, contrary to what could have been expected,
object-relational mapping technologies do not tend to replace existing ones but
rather complement them.

Software Engineering