package fi.otavanopisto.muikku.plugins.wall.dao; import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import fi.otavanopisto.muikku.plugins.wall.model.WorkspaceWall_; import fi.otavanopisto.muikku.model.workspace.WorkspaceEntity; import fi.otavanopisto.muikku.plugins.CorePluginsDAO; import fi.otavanopisto.muikku.plugins.wall.model.WorkspaceWall; public class WorkspaceWallDAO extends CorePluginsDAO<WorkspaceWall> { private static final long serialVersionUID = -4292824493620956200L; public WorkspaceWall create(WorkspaceEntity workspace) { WorkspaceWall workspaceWall = new WorkspaceWall(); workspaceWall.setWorkspace(workspace.getId()); getEntityManager().persist(workspaceWall); return workspaceWall; } public WorkspaceWall findByWorkspace(WorkspaceEntity workspace) { EntityManager entityManager = getEntityManager(); CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<WorkspaceWall> criteria = criteriaBuilder.createQuery(WorkspaceWall.class); Root<WorkspaceWall> root = criteria.from(WorkspaceWall.class); criteria.select(root); criteria.where(criteriaBuilder.equal(root.get(WorkspaceWall_.workspace), workspace.getId())); return getSingleResult(entityManager.createQuery(criteria)); } }