1
22
23 package com.liferay.portlet.messageboards.service.persistence;
24
25 import com.liferay.portal.SystemException;
26 import com.liferay.portal.spring.hibernate.CustomSQLUtil;
27 import com.liferay.portal.spring.hibernate.HibernateUtil;
28 import com.liferay.portal.util.PortalUtil;
29 import com.liferay.portlet.messageboards.model.MBCategory;
30 import com.liferay.portlet.messageboards.model.impl.MBCategoryImpl;
31 import com.liferay.util.dao.hibernate.QueryPos;
32 import com.liferay.util.dao.hibernate.QueryUtil;
33
34 import java.util.Iterator;
35 import java.util.List;
36
37 import org.hibernate.Hibernate;
38 import org.hibernate.SQLQuery;
39 import org.hibernate.Session;
40
41
47 public class MBCategoryFinderImpl implements MBCategoryFinder {
48
49 public static String COUNT_BY_S_G_U =
50 MBCategoryFinder.class.getName() + ".countByS_G_U";
51
52 public static String FIND_BY_S_G_U =
53 MBCategoryFinder.class.getName() + ".findByS_G_U";
54
55 public int countByS_G_U(long groupId, long userId) throws SystemException {
56 Session session = null;
57
58 try {
59 session = HibernateUtil.openSession();
60
61 String sql = CustomSQLUtil.get(COUNT_BY_S_G_U);
62
63 SQLQuery q = session.createSQLQuery(sql);
64
65 q.addScalar(HibernateUtil.getCountColumnName(), Hibernate.LONG);
66
67 QueryPos qPos = QueryPos.getInstance(q);
68
69 qPos.add(PortalUtil.getClassNameId(MBCategory.class.getName()));
70 qPos.add(groupId);
71 qPos.add(userId);
72
73 Iterator<Long> itr = q.list().iterator();
74
75 if (itr.hasNext()) {
76 Long count = itr.next();
77
78 if (count != null) {
79 return count.intValue();
80 }
81 }
82
83 return 0;
84 }
85 catch (Exception e) {
86 throw new SystemException(e);
87 }
88 finally {
89 HibernateUtil.closeSession(session);
90 }
91 }
92
93 public List<MBCategory> findByS_G_U(
94 long groupId, long userId, int begin, int end)
95 throws SystemException {
96
97 Session session = null;
98
99 try {
100 session = HibernateUtil.openSession();
101
102 String sql = CustomSQLUtil.get(FIND_BY_S_G_U);
103
104 SQLQuery q = session.createSQLQuery(sql);
105
106 q.addEntity("MBCategory", MBCategoryImpl.class);
107
108 QueryPos qPos = QueryPos.getInstance(q);
109
110 qPos.add(PortalUtil.getClassNameId(MBCategory.class.getName()));
111 qPos.add(groupId);
112 qPos.add(userId);
113
114 return (List<MBCategory>)QueryUtil.list(
115 q, HibernateUtil.getDialect(), begin, end);
116 }
117 catch (Exception e) {
118 throw new SystemException(e);
119 }
120 finally {
121 HibernateUtil.closeSession(session);
122 }
123 }
124
125 }