2013-03-23 19:46:09 +01:00
|
|
|
package com.commafeed.backend.dao;
|
|
|
|
|
|
|
|
|
|
import javax.ejb.Stateless;
|
|
|
|
|
import javax.persistence.NoResultException;
|
2013-06-08 16:15:11 +02:00
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
import javax.persistence.criteria.Root;
|
2013-03-23 19:46:09 +01:00
|
|
|
|
|
|
|
|
import com.commafeed.backend.model.User;
|
|
|
|
|
import com.commafeed.backend.model.UserSettings;
|
2013-04-12 10:44:41 +02:00
|
|
|
import com.commafeed.backend.model.UserSettings_;
|
2013-06-27 11:54:30 +02:00
|
|
|
import com.commafeed.backend.model.User_;
|
2013-03-23 19:46:09 +01:00
|
|
|
|
|
|
|
|
@Stateless
|
2013-04-11 20:49:08 +02:00
|
|
|
public class UserSettingsDAO extends GenericDAO<UserSettings> {
|
2013-03-23 19:46:09 +01:00
|
|
|
|
|
|
|
|
public UserSettings findByUser(User user) {
|
|
|
|
|
|
2013-06-08 16:15:11 +02:00
|
|
|
CriteriaQuery<UserSettings> query = builder.createQuery(getType());
|
|
|
|
|
Root<UserSettings> root = query.from(getType());
|
|
|
|
|
|
2013-07-25 09:17:33 +02:00
|
|
|
query.where(builder.equal(root.get(UserSettings_.user).get(User_.id), user.getId()));
|
2013-03-23 19:46:09 +01:00
|
|
|
|
|
|
|
|
UserSettings settings = null;
|
|
|
|
|
try {
|
2013-06-27 11:54:30 +02:00
|
|
|
settings = cache(em.createQuery(query)).getSingleResult();
|
2013-03-23 19:46:09 +01:00
|
|
|
} catch (NoResultException e) {
|
|
|
|
|
settings = null;
|
|
|
|
|
}
|
|
|
|
|
return settings;
|
|
|
|
|
}
|
|
|
|
|
}
|