Java tutorial
package nc.noumea.mairie.appock.dao.impl; /*- * #%L * Logiciel de Gestion des approvisionnements et des stocks des fournitures administratives de la Mairie de Nouma * %% * Copyright (C) 2017 Mairie de Nouma, Nouvelle-Caldonie * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import javax.persistence.NoResultException; import javax.persistence.Query; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import nc.noumea.mairie.appock.core.utility.AppockUtil; import nc.noumea.mairie.appock.dao.FamilleDao; import nc.noumea.mairie.appock.dao.PersistentManager; import nc.noumea.mairie.appock.entity.Catalogue; import nc.noumea.mairie.appock.entity.Famille; @Repository("familleDao") public class FamilleDaoImpl implements FamilleDao { @Autowired protected PersistentManager<Famille> persistentManager; @Override public Famille findByLibelleAndCatalogue(String libelle, Catalogue catalogue) { // @formatter:off String jpaQuery = " SELECT famille FROM Famille famille " + " left join famille.catalogue catalogue " + " WHERE famille.libelle = :libelle " + " AND catalogue = :catalogue"; // @formatter:on Query query = persistentManager.getEntityManager().createQuery(jpaQuery); AppockUtil.setParameter(query, "libelle", libelle); AppockUtil.setParameter(query, "catalogue", catalogue); try { return (Famille) query.getSingleResult(); } catch (NoResultException e) { return null; } } }