materialize the manytomany relationship to have better control over queries

This commit is contained in:
Athou
2013-07-04 23:40:25 +02:00
parent d57a1c9e2a
commit 4efa18f9e6
8 changed files with 110 additions and 70 deletions

View File

@@ -0,0 +1,57 @@
package com.commafeed.backend.model;
import java.io.Serializable;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@Entity
@Table(name = "FEED_FEEDENTRIES")
@SuppressWarnings("serial")
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public class FeedFeedEntry implements Serializable {
@Id
@ManyToOne
@JoinColumn(name = "FEED_ID")
private Feed feed;
@Id
@ManyToOne
@JoinColumn(name = "FEEDENTRY_ID")
private FeedEntry entry;
public FeedFeedEntry() {
}
public FeedFeedEntry(Feed feed, FeedEntry entry) {
this.feed = feed;
this.entry = entry;
}
public Feed getFeed() {
return feed;
}
public void setFeed(Feed feed) {
this.feed = feed;
}
public FeedEntry getEntry() {
return entry;
}
public void setEntry(FeedEntry entry) {
this.entry = entry;
}
}