1 package info.mikethomas.fahweb.dao;
2
3 /*
4 * #%L
5 * This file is part of FAHWeb.
6 * %%
7 * Copyright (C) 2012 - 2017 Michael Thomas <mikepthomas@outlook.com>
8 * %%
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation, either version 3 of the
12 * License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program. If not, see
21 * <http://www.gnu.org/licenses/gpl-3.0.html>.
22 * #L%
23 */
24
25 import info.mikethomas.fahweb.model.Team;
26 import java.util.List;
27 import org.hibernate.Query;
28 import org.hibernate.SessionFactory;
29 import org.springframework.stereotype.Repository;
30 import org.springframework.transaction.annotation.Transactional;
31
32 /**
33 * <p>TeamDao class.</p>
34 *
35 * @author Michael Thomas (mikepthomas@outlook.com)
36 * @version $Id: $Id
37 */
38 @Repository
39 public class TeamDao {
40
41 private SessionFactory sessionFactory;
42
43 /**
44 * <p>Setter for the field <code>sessionFactory</code>.</p>
45 *
46 * @param sessionFactory a {@link org.hibernate.SessionFactory} object.
47 */
48 public void setSessionFactory(SessionFactory sessionFactory) {
49 this.sessionFactory = sessionFactory;
50 }
51
52 /**
53 * <p>addTeam.</p>
54 *
55 * @param team a {@link info.mikethomas.fahweb.model.Team} object.
56 */
57 @Transactional
58 public void addTeam(Team team) {
59 sessionFactory.getCurrentSession().save(team);
60 }
61
62 /**
63 * <p>listTeam.</p>
64 *
65 * @param firstResult a int.
66 * @param maxResults a int.
67 * @return a {@link java.util.List} object.
68 */
69 @Transactional
70 public List<Team> listTeam(int firstResult, int maxResults) {
71 Query query = sessionFactory.getCurrentSession().createQuery("FROM Team ORDER BY score DESC");
72 query.setFirstResult(firstResult);
73 query.setMaxResults(maxResults);
74 return query.list();
75 }
76 }