In our previous article, we looked at the basic patterns needed to implement a repository. In many cases these patterns were such a thin layer around the underlying data access technology they were essentially unnecessary. However, once you have a repository in place, many new opportunities become available.
This article will focus on the basic functionality that one would find in a typical repository created with .NET. We’ll look at both general functionality and how that functionality would be implemented using three different styles of ORM: Entity Framework, Dapper, and Tortuga Chain.
The so-called “object-relation impedance mismatch” has long been discussed in engineering circles. Most attempts at a solution rely try to mask the issue by pulling logic into the application tier. Kostiantyn Cherniavskyi looks at these issues and shows how many of them can be solved with hybrid databases such as Starcounter.
ActiveJPA is a Java implementation of Martin Fowler’s Active Record over JPA and provides abstractions to simplify data access. In this article the primary committer illustrates ActiveJPA usage 7
Some users are interacting with databases through complex SQL queries, both in terms of performance as well as expressivity. If SQL and JPA are diverging, where will our data interaction patterns go? 4
The Android Developer’s Cookbook is a solid reference book for mobile app developers that can serve as an authoritative guide for sound programming practices. A nice addition to a dev's book shelf. 1
To refactor legacy code, the ideal is to have a suite of unit tests to prevent regressions. However it's not always that easy. This article describes a methodology to safely refactor legacy code. 7
Most ORM libraries make you write a new class for each item you want to keep in the database, extending this and that for no apparent reason. arrayDB looks at simplifying the whole process. 5
Yevhen Shchyholyev discusses some of the problems that the user may face in the process of developing an application with Entity Framework that interacts with Oracle, MySQL, PostgreSQL and SQLite.
Some see ORMs as an essential tool for simplifying data access while others claim it is needless complexity. Sam Saffron and Rob Conery have found a middle ground in what’s known as a Micro ORM. 5
OO7J is a Java version of the original OO7 benchmark (written in C++). This project includes benchmarking ORM tools. We recently interviewed OO7J's creator Pieter van Zyl about the project.
This article explores tuning techniques for Hibernate applications, focusing on poorly documented topics, such as inheritance mapping, second level cache and enhanced sequence identifier generators. 2