List of usage examples for org.hibernate.criterion Restrictions idEq
public static Criterion idEq(Object value)
From source file:net.startbahn.web.app.WorksAction.java
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception { Session session = new HibernateSession().currentSession(this.getServlet().getServletContext()); Vector vector = new Vector(); Criteria criteria = session.createCriteria(Work.class); if (StringUtils.isNotBlank(req.getParameter("artist"))) { Criteria criteria2 = session.createCriteria(Artist.class); criteria2.add(Restrictions.idEq(Integer.valueOf(req.getParameter("artist")))); Artist artist = (Artist) criteria2.uniqueResult(); criteria.add(Restrictions.eq("artist", artist)); }/*from ww w.j a v a2s . c o m*/ if (StringUtils.isNotBlank(req.getParameter("client"))) { if (req.getParameter("client").equals("true")) { criteria.add(Restrictions.eq("client", true)); } else { criteria.add(Restrictions.eq("client", false)); } } if (StringUtils.isNotBlank(req.getParameter("licensed"))) { if (req.getParameter("licensed").equals("true")) { criteria.add(Restrictions.eq("licensed", true)); } else { criteria.add(Restrictions.eq("licensed", false)); } } if (StringUtils.isNotBlank(req.getParameter("licensingpossibleafterexpired"))) { if (req.getParameter("licensingpossibleafterexpired").equals("true")) { criteria.add(Restrictions.eq("licensingpossibleafterexpired", true)); } else { criteria.add(Restrictions.eq("licensingpossibleafterexpired", false)); } } if (StringUtils.isNotBlank(req.getParameter("updatedatestartdate")) && StringUtils.isNotBlank(req.getParameter("updatedateenddate"))) { Date startDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("updatedatestartdate")); Date endDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("updatedateenddate")); criteria.add(Restrictions.between("date", startDate, endDate)); } if (StringUtils.isNotBlank(req.getParameter("productiondatestartdate")) && StringUtils.isNotBlank(req.getParameter("productiondateenddate"))) { Date startDate = (new SimpleDateFormat("yyyy/MM/dd")) .parse(req.getParameter("productiondatestartdate")); Date endDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("productiondateenddate")); criteria.add(Restrictions.between("date", startDate, endDate)); } if (StringUtils.isNotBlank(req.getParameter("datestartdate")) && StringUtils.isNotBlank(req.getParameter("dateenddate"))) { Date startDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("datestartdate")); Date endDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("dateenddate")); criteria.add(Restrictions.between("date", startDate, endDate)); } req.setAttribute("works", criteria.list()); // for (Iterator iter = criteria.list().iterator(); iter.hasNext();) { // Work work = (Work) iter.next(); // vector.add(work); // } Work work = new WorkImpl(); WorkForm workform = new WorkForm(); criteria = session.createCriteria(Work.class); if (req.getAttribute("form") == null && req.getParameter("id") != null) { criteria.add(Restrictions.idEq(Integer.valueOf(req.getParameter("id")))); work = (Work) criteria.uniqueResult(); new CopyProperties(work, workform); } else if (req.getAttribute("form") != null) { workform = (WorkForm) req.getAttribute("form"); criteria.add(Restrictions.idEq(workform.getId())); work = (Work) criteria.uniqueResult(); } req.setAttribute("model", work); req.setAttribute("form", workform); Criteria criteriaArtist = session.createCriteria(Artist.class); req.setAttribute("Artists", criteriaArtist.list()); if (req.getParameter("displayexport") != null) { return mapping.findForward("displayexport"); } return mapping.findForward("success"); }
From source file:org.andromda.timetracker.domain.TimecardDaoImpl.java
/** * @see TimecardDao#findByCriteria(TimecardSearchCriteriaVO) *//*from ww w .j ava2 s . c o m*/ @Override protected List handleFindByCriteria(TimecardSearchCriteriaVO criteria) { // Create the timecard criteria Criteria timecardCriteria = this.hibernateSession.createCriteria(Timecard.class); timecardCriteria.setFetchMode("submitter", FetchMode.JOIN); timecardCriteria.setFetchMode("approver", FetchMode.JOIN); // Add submitter criteria if (criteria.getSubmitterId() != null) { timecardCriteria.createCriteria("submitter").add(Restrictions.idEq(criteria.getSubmitterId())); } // Add approver criteria if (criteria.getApproverId() != null) { timecardCriteria.createCriteria("approver").add(Restrictions.idEq(criteria.getApproverId())); } // Add status criteria if (criteria.getStatus() != null) { timecardCriteria.add(Restrictions.eq("status", criteria.getStatus())); } // Add startDateMin criteria if (criteria.getStartDateMin() != null) { timecardCriteria.add(Restrictions.ge("startDate", criteria.getStartDateMin())); } // Add startDateMax criteria if (criteria.getStartDateMax() != null) { timecardCriteria.add(Restrictions.le("startDate", criteria.getStartDateMax())); } List timecards = timecardCriteria.list(); if (this.logger.isDebugEnabled()) { this.logger.debug(timecards.size() + " timecards found"); } return timecards; }
From source file:org.archiviststoolkit.mydomain.DomainAccessObjectImpl.java
License:Open Source License
/** * Find an instance by its identifier.//w w w.jav a2s .c o m * * @param identifier the identifier we are looking for * @return the domain object with the required identifier * @throws LookupException fails if we cannot execute the lookup */ public DomainObject findByPrimaryKeyCommon(final Long identifier, Session session) throws LookupException { DomainObject domainObject; try { // try { if (getPersistentClass() == Names.class) { Criteria criteria = session.createCriteria(Names.class); criteria.setFetchMode("contactNotes", FetchMode.JOIN); criteria.setFetchMode("nonPreferredNames", FetchMode.JOIN); criteria.setFetchMode("archDescriptionNames", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else if (getPersistentClass() == Accessions.class) { Criteria criteria = session.createCriteria(Accessions.class); criteria.setFetchMode("names", FetchMode.JOIN); criteria.setFetchMode("repeatingData", FetchMode.JOIN); criteria.setFetchMode("resources", FetchMode.JOIN); criteria.setFetchMode("subjects", FetchMode.JOIN); criteria.setFetchMode("locations", FetchMode.JOIN); criteria.setFetchMode("deaccessions", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else if (getPersistentClass() == Subjects.class) { Criteria criteria = session.createCriteria(Subjects.class); criteria.setFetchMode("archDescriptionSubjects", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else if (getPersistentClass() == Resources.class) { Criteria criteria = session.createCriteria(Resources.class); criteria.setFetchMode("names", FetchMode.JOIN); criteria.setFetchMode("accessions", FetchMode.JOIN); criteria.setFetchMode("subjects", FetchMode.JOIN); // criteria.setFetchMode("repeatingData", FetchMode.JOIN); // criteria.setFetchMode("instances", FetchMode.JOIN); // criteria.setFetchMode("resourcesComponents", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else if (getPersistentClass() == ResourcesComponents.class) { Criteria criteria = session.createCriteria(ResourcesComponents.class); criteria.setFetchMode("names", FetchMode.JOIN); criteria.setFetchMode("instances", FetchMode.JOIN); criteria.setFetchMode("subjects", FetchMode.JOIN); criteria.setFetchMode("repeatingData", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else if (getPersistentClass() == Locations.class) { Criteria criteria = session.createCriteria(Locations.class); criteria.setFetchMode("repository", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else if (getPersistentClass() == DigitalObjects.class) { Criteria criteria = session.createCriteria(DigitalObjects.class); // criteria.setFetchMode("names", FetchMode.JOIN); // criteria.setFetchMode("repeatingData", FetchMode.JOIN); // criteria.setFetchMode("subjects", FetchMode.JOIN); // criteria.setFetchMode("fileVersions", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); domainObject = (DomainObject) criteria.uniqueResult(); } else { domainObject = (DomainObject) session.load(getPersistentClass(), identifier); } // } catch (ObjectNotFoundException objectNotFoundException) { // new ErrorDialog("", StringHelper.getStackTrace(e)).showDialog(); // domainObject = null; // logger.log(Level.INFO, "Object could not be found by key " + identifier); // } session.flush(); session.connection().commit(); } catch (ObjectNotFoundException objectNotFoundException) { throw new LookupException("failed to findbyprimarykey: " + objectNotFoundException.toString(), objectNotFoundException); } catch (HibernateException hibernateException) { throw new LookupException("failed to findbyprimarykey: " + hibernateException.toString(), hibernateException); } catch (SQLException sqlException) { throw new LookupException("failed to findbyprimarykey: " + sqlException.toString(), sqlException); } return (domainObject); }
From source file:org.archiviststoolkit.plugin.dbdialog.RemoteDBConnectDialogLight.java
/** * Method to return the resource in a long session * * @param identifier//from www. jav a 2s .c om * @return */ public Resources getResource(Long identifier) { Transaction tx = null; Resources resource = null; try { tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Resources.class); criteria.setFetchMode("names", FetchMode.JOIN); criteria.setFetchMode("accessions", FetchMode.JOIN); criteria.setFetchMode("subjects", FetchMode.JOIN); criteria.add(Restrictions.idEq(identifier)); resource = (Resources) criteria.uniqueResult(); session.setReadOnly(resource, true); tx.commit(); } catch (RuntimeException ex) { try { tx.rollback(); } catch (HibernateException e) { e.printStackTrace(); } } return resource; }
From source file:org.archiviststoolkit.plugin.dbdialog.RemoteDBConnectDialogLight.java
/** * Method to return a domain object from the database * * @param clazz//ww w.j a v a2 s .c om * @param key * @return */ public DomainObject getRecord(Class clazz, Long key) { Transaction tx = null; DomainObject record = null; try { tx = session.beginTransaction(); Criteria criteria = session.createCriteria(clazz); criteria.add(Restrictions.idEq(key)); record = (DomainObject) criteria.uniqueResult(); tx.commit(); } catch (RuntimeException ex) { try { tx.rollback(); } catch (HibernateException e) { e.printStackTrace(); } } return record; }
From source file:org.babyfish.hibernate.collection.spi.persistence.SetBasePersistence.java
License:Open Source License
/** * This method is used to replace /*from w w w . j a va 2 s . c om*/ * "org.hibernate.collection.AbstractPersistentCollection#readElementExistence(Object element)" * @param element The example element to be read * @return The ref or readed element * <ul> * <li>NonNull: Read successfully, check the value of ref to check the read value is null or not</li> * <li>Null: Read failed</li> * </ul> */ @SuppressWarnings("unchecked") public Ref<E> visionallyRead(E element) { Arguments.mustNotBeNull("element", element); String role = this.getNonNullRole(); SessionImplementor session = this.getSession(); if (session == null || !session.isOpen() || !session.isConnected()) { return null; } SessionFactoryImplementor sessionFactory = session.getFactory(); QueryableCollection collection = (QueryableCollection) sessionFactory.getCollectionPersister(role); EntityPersister elementPersister = collection.getElementPersister(); Object elementId = elementPersister.getIdentifier(element, this.getSession()); if (elementId == null) { return new Ref<>(); } if (elementPersister.getEntityMetamodel().getIdentifierProperty().getUnsavedValue() .isUnsaved((Serializable) elementId)) { return new Ref<>(); } CriteriaImpl criteria = new CriteriaImpl(elementPersister.getEntityName(), session); /* * Add the condition of element. */ criteria.add(Restrictions.idEq(elementId)); //ownerKey, not ownerId Object ownerKey = collection.getCollectionType().getKeyOfOwner(this.getOwner(), session); //In Hibernate, isOneToMany means that there is no middle table //The @OneToMany of JPA with middle table is consider as many-to-many in Hibernate if (sessionFactory.getCollectionPersister(role).isOneToMany()) { String[] joinOwnerColumns = collection.getKeyColumnNames(); StringBuilder sqlBuilder = new StringBuilder(); for (int i = 0; i < joinOwnerColumns.length; i++) { if (i != 0) { sqlBuilder.append(" and "); } sqlBuilder.append("{alias}.").append(joinOwnerColumns[i]).append(" = ?"); } criteria.add(Restrictions.sqlRestriction(sqlBuilder.toString(), ownerKey, collection.getKeyType())); } else { String lhsPropertyName = collection.getCollectionType().getLHSPropertyName(); int lhsPropertyIndex = -1; if (lhsPropertyName != null) { String[] propertyNames = collection.getOwnerEntityPersister().getPropertyNames(); for (int i = propertyNames.length - 1; i >= 0; i--) { if (propertyNames[i].equals(lhsPropertyName)) { lhsPropertyIndex = i; break; } } } String[] lhsColumnNames = JoinHelper.getLHSColumnNames(collection.getCollectionType(), lhsPropertyIndex, (OuterJoinLoadable) elementPersister, sessionFactory); String[] joinElementColumnNames = collection.getElementColumnNames(); String[] joinOwnerColumnNames = collection.getKeyColumnNames(); StringBuilder subQueryBuilder = new StringBuilder(); subQueryBuilder.append("exists(select * from ").append(collection.getTableName()).append(" as ") .append(MIDDLE_TABLE_ALIAS).append(" where "); for (int i = 0; i < joinElementColumnNames.length; i++) { if (i != 0) { subQueryBuilder.append(" and "); } subQueryBuilder.append("{alias}.").append(lhsColumnNames[i]).append(" = ") .append(MIDDLE_TABLE_ALIAS).append('.').append(joinElementColumnNames[i]); } for (int i = 0; i < joinOwnerColumnNames.length; i++) { subQueryBuilder.append(" and ").append(MIDDLE_TABLE_ALIAS).append(".") .append(joinOwnerColumnNames[i]).append(" = ?"); } subQueryBuilder.append(')'); criteria.add( Restrictions.sqlRestriction(subQueryBuilder.toString(), ownerKey, collection.getKeyType())); } FlushMode oldFlushMode = session.getFlushMode(); session.setFlushMode(FlushMode.MANUAL); try { return new Ref<>((E) criteria.uniqueResult()); } finally { session.setFlushMode(oldFlushMode); } }
From source file:org.candlepin.auth.permissions.ConsumerPermission.java
License:Open Source License
@Override public Criterion getCriteriaRestrictions(Class entityClass) { if (entityClass.equals(Consumer.class)) { return Restrictions.idEq(consumer.getId()); }// www .jav a 2s.c o m return null; }
From source file:org.candlepin.model.AbstractHibernateCurator.java
License:Open Source License
@Transactional protected final <T> T secureGet(Class<T> clazz, Serializable id) { return clazz.cast(createSecureCriteria().add(Restrictions.idEq(id)).uniqueResult()); }
From source file:org.candlepin.model.PoolCurator.java
License:Open Source License
public int getNoOfDependentEntitlements(String entitlementId) { Filter consumerFilter = disableConsumerFilter(); Integer result = (Integer) currentSession().createCriteria(Entitlement.class) .setProjection(Projections.rowCount()).createCriteria("pool").createCriteria("sourceEntitlement") .add(Restrictions.idEq(entitlementId)).list().get(0); enableIfPrevEnabled(consumerFilter); return result; }
From source file:org.candlepin.model.PoolCurator.java
License:Open Source License
@SuppressWarnings("unchecked") public List<EntitlementCertificate> retrieveEntCertsOfPoolsWithSourceEntitlement(String entId) { return currentSession().createCriteria(EntitlementCertificate.class).createCriteria("entitlement") .createCriteria("pool").createCriteria("sourceEntitlement").add(Restrictions.idEq(entId)).list(); }