Belirli kullanıcılara göre filtreli reklamlar için web uygulamasına sahibim. Kalıcılık çerçevesi olarak Java
arka uç ve Hibernate
kullanın. User
varlıkının oneToMany
ile ilişkisi var Filtre ve filtre varlıkları manyToMany
Reklam varlıkları ile ilgilidir. Reklam sınıfı, insertTime özelliğine sahiptir. Amacım, yalnızca en eski değil belirli zamanlardaki reklamları yüklemektir: hafta (7 gün).Java hazırda bekletme yükü yalnızca çocuk yerleştirmeZaman en az x gün
ön uç olsun kullanıcı yöntemi:
var res = $http.get($rootScope.url+"users/getUser/"+id);
Kullanıcı:
@Entity
@Table(name="users")
public class GeUser {
...
@OneToMany(fetch = FetchType.LAZY, cascade=CascadeType.ALL, mappedBy="user")
@OrderBy("id")
private Set<Filter> filters = new HashSet<Filter>(0);
...
Filtre:
@Entity
@Table(name="filters")
public class Filter {
...
@ManyToMany(cascade=CascadeType.ALL)
private Set<Ad> ads;
...
Reklam:
@Entity
@Table(name="ads")
public class Ad {
...
private Date insertTime = new Date(); // > no less 7 days
...
Yük kullanıcı için
Kullanılmış DAO yöntemi:
public GeUser getUser(int id){
Criteria criteria = session.createCriteria(GeUser.class);
criteria.add(Restrictions.eq("id",id));
@SuppressWarnings("unchecked")
List<GeUser> results = criteria.list();
if(results.size()<1)return null;
return results.get(0);
}