1 25 package com.j2biz.blogunity.dao; 26 27 import java.io.Serializable ; 28 import java.util.List ; 29 30 import net.sf.hibernate.HibernateException; 31 import net.sf.hibernate.Query; 32 import net.sf.hibernate.Session; 33 34 import org.apache.commons.logging.Log; 35 import org.apache.commons.logging.LogFactory; 36 37 import com.j2biz.blogunity.exception.BlogunityException; 38 import com.j2biz.blogunity.i18n.I18N; 39 import com.j2biz.blogunity.i18n.I18NStatusFactory; 40 import com.j2biz.blogunity.pojo.Trackback; 41 import com.j2biz.blogunity.util.HibernateUtil; 42 43 49 public class TrackbackDAO extends AbstractDAO { 50 53 private static final Log log = LogFactory.getLog(EntryDAO.class); 54 55 58 public TrackbackDAO() { 59 super(); 60 } 61 62 public Trackback getTrackbackByID(Long id) throws BlogunityException { 63 64 Session session = HibernateUtil.getSession(); 65 try { 66 return (Trackback) session.load(Trackback.class, id); 67 } catch (HibernateException ex) { 68 69 log.error("getTrackbackByID(Long)", ex); 70 throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.NOT_FOUND_BY_ID, 71 "Trackback", ex)); 72 } 73 } 74 75 public List getTrackbacksForEntry(Long entryId) throws BlogunityException { 76 Session session = HibernateUtil.getSession(); 77 try { 78 Query q = session 81 .createQuery("from Trackback trackback where trackback.referencedEntryId = " 82 + entryId + " order by trackback.date"); 83 return q.list(); 84 } catch (HibernateException ex) { 85 log.error("getTrackbacksForEntry(Long)", ex); 86 throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.NOT_FOUND_BY_ID, 87 "Trackback", ex)); 88 } 89 } 90 91 public List getTrackbacksForEntryAndDirection(Long entryId, String direction) 92 throws BlogunityException { 93 Session session = HibernateUtil.getSession(); 94 try { 95 Query q = session 98 .createQuery("from Trackback trackback where trackback.referencedEntryId = " 99 + entryId + " and direction='" + direction 100 + "' order by trackback.date"); 101 return q.list(); 102 } catch (HibernateException ex) { 103 log.error("getTrackbacksForEntryAndDirection(Long)", ex); 104 throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.NOT_FOUND_BY_ID, 105 "Trackback", ex)); 106 } 107 } 108 109 public Serializable createTrackback(Trackback trackback) throws BlogunityException { 110 111 Session session = HibernateUtil.getSession(); 112 try { 113 Serializable returnSerializable = session.save(trackback); 114 return returnSerializable; 115 } catch (HibernateException e) { 116 log.error("createTrackback(Trackback)", e); 117 throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.CREATE, "Trackback", 118 e)); 119 } 120 } 121 } | Popular Tags |