All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.foyt.fni.persistence.dao.users.FriendConfirmKeyDAO Maven / Gradle / Ivy

There is a newer version: 3.3.13
Show newest version
package fi.foyt.fni.persistence.dao.users;

import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import fi.foyt.fni.persistence.dao.GenericDAO;
import fi.foyt.fni.persistence.model.users.User;
import fi.foyt.fni.persistence.model.users.FriendConfirmKey;
import fi.foyt.fni.persistence.model.users.FriendConfirmKey_;

public class FriendConfirmKeyDAO extends GenericDAO {

	private static final long serialVersionUID = 1L;

	public FriendConfirmKey create(User user, User friend, String value) {
    EntityManager entityManager = getEntityManager();

    FriendConfirmKey friendConfirmKey = new FriendConfirmKey();
    friendConfirmKey.setValue(value);
    friendConfirmKey.setUser(user);
    friendConfirmKey.setFriend(friend);
    friendConfirmKey.setCreated(new Date());
    
    entityManager.persist(friendConfirmKey);
    return friendConfirmKey;
  }

  public FriendConfirmKey findByValue(String value) {
    EntityManager entityManager = getEntityManager();

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery criteria = criteriaBuilder.createQuery(FriendConfirmKey.class);
    Root root = criteria.from(FriendConfirmKey.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(FriendConfirmKey_.value), value));

    return getSingleResult(entityManager.createQuery(criteria));
  }

	public List listByUserAndFriend(User user, User friend) {
		EntityManager entityManager = getEntityManager();

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery criteria = criteriaBuilder.createQuery(FriendConfirmKey.class);
    Root root = criteria.from(FriendConfirmKey.class);
    criteria.select(root);
    
    criteria.where(criteriaBuilder.and(
    		criteriaBuilder.equal(root.get(FriendConfirmKey_.user), user),
    		criteriaBuilder.equal(root.get(FriendConfirmKey_.friend), friend)
    ));

    return entityManager.createQuery(criteria).getResultList();
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy