-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOffersDAO.java
More file actions
69 lines (57 loc) · 1.76 KB
/
OffersDAO.java
File metadata and controls
69 lines (57 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.caveofprogramming.spring.web.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.hibernate.classic.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
@Transactional
@Component("offersDao")
public class OffersDAO
{
@Autowired
private SessionFactory sessionFactory;
public Session session()
{
return sessionFactory.getCurrentSession();
}
public void saveOrUpdate(Offer offer)
{
session().saveOrUpdate(offer);
}
public boolean delete(int id)
{
Query query = session().createQuery("delete from Offer where id=:id"); // This is not SQL, it's HQL
query.setLong("id", id);
return query.executeUpdate() == 1;
}
@SuppressWarnings("unchecked")
public List<Offer> getOffers()
{
Criteria crit = session().createCriteria(Offer.class);
crit.createAlias("user", "u").add(Restrictions.eq("u.enabled", true)); // Checking if user.enabled = true
return crit.list();
}
@SuppressWarnings("unchecked")
public List<Offer> getOffers(String username)
{
Criteria crit = session().createCriteria(Offer.class);
crit.createAlias("user", "u");
crit.add(Restrictions.eq("u.enabled", true));
crit.add(Restrictions.eq("u.username", username));
return crit.list();
}
public Offer getOffer(int id)
{
Criteria crit = session().createCriteria(Offer.class);
crit.createAlias("user", "u");
crit.add(Restrictions.eq("u.enabled", true));
crit.add(Restrictions.idEq(id));
return (Offer)crit.uniqueResult();
}
}