package me.moodcat.database.controllers;
import static me.moodcat.database.entities.QClassification.classification;
import javax.persistence.EntityManager;
import me.moodcat.database.entities.Classification;
import me.moodcat.database.entities.Song;
import me.moodcat.database.entities.User;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
;
/**
* Data-access object for classification objects.
*/
public class ClassificationDAO extends AbstractDAO<Classification> {
@Inject
public ClassificationDAO(final EntityManager entityManager) {
super(entityManager);
}
/**
* Check if a {@link Classification} exists for a given {@link User} and {@link Song}.
*
* @param user
* User for the classification.
* @param song
* Song for the classificatoin.
* @return true if a classification exists.
*/
@Transactional
public boolean exists(final User user, final Song song) {
return query().from(classification)
.where(classification.user.eq(user)
.and(classification.song.eq(song)))
.exists();
}
}