@@ -0,0 +1,1087 @@
+package me.moodcat.database.controllers;%0A%0Aimport static me.moodcat.database.entities.QArtist.artist;%0A%0Aimport java.util.List;%0A%0Aimport javax.persistence.EntityManager;%0A%0Aimport me.moodcat.database.entities.Artist;%0A%0Aimport com.google.inject.Inject;%0Aimport com.google.inject.persist.Transactional;%0A%0A/**%0A * TODO: Add explanation.%0A *%0A * @author Jan-Willem Gmelig Meyling%0A */%0Apublic class ArtistDAO extends AbstractDAO%3CArtist%3E %7B%0A%0A    @Inject%0A    public ArtistDAO(final EntityManager entityManager) %7B%0A        super(entityManager);%0A    %7D%0A%0A    @Transactional%0A    public List%3CArtist%3E listArtists() %7B%0A        return this.query().from(artist)%0A                .list(artist);%0A    %7D%0A%0A    @Transactional%0A    public Artist findByName(final String name) %7B%0A        return this.query().from(artist)%0A                .where(artist.name.equalsIgnoreCase(name))%0A                .singleResult(artist);%0A    %7D%0A%0A    @Transactional%0A    public Artist findById(final int id) %7B%0A        return ensureExists(this.query().from(artist)%0A                .where(artist.id.eq(id))%0A                .singleResult(artist));%0A    %7D%0A%7D%0A

Revert removal of ArtistDAO.