請原諒我的壞英語...枚舉 - 數量 - 休眠
在我的數據庫中存儲文章集。在每篇文章中都有幾篇不同的文章。每篇文章對日期和數量都有不同的要求。
在項目有一個枚舉,看起來像這樣:
public enum PeriodDefinition {
Individual,
Day,
Week,
Month,
Quarter,
HalfYear,
Year
}
條的實體是這樣的:
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.ManyToMany;
@Entity
public class Article extends ArticleContainer {
private float price;
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
件容器的實體:
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToOne;
@Entity
public class ArticleContainer extends BaseEntity {
@Column(nullable = false, unique = true)
private String number;
@Column(nullable = false)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
物品組的實體:
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
@Entity
public class ArticleSet extends ArticleContainer {
private static final long serialVersionUID = 6236522228097421880L;
@ManyToMany
private List<Article> articles = new ArrayList<Article>();
@OneToMany
private List<ArticleSet> children = new ArrayList<ArticleSet>();
public List<Article> getArticles() {
return articles;
}
public void setArticles(List<Article> articles) {
this.articles = articles;
}
public List<ArticleSet> getChildren() {
return children;
}
public void setChildren(List<ArticleSet> children) {
this.children = children;
}
}
最後需求實體
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Demand extends BaseEntity {
@ManyToOne(optional = false)
private Article article;
@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = false)
private Date demandTime;
private double quantity;
public Article getArticle() {
return article;
}
public void setArticle(Article article) {
this.article = article;
}
public Date getTimeStamp() {
return demandTime;
}
public void setTimeStamp(Date demandTime) {
this.demandTime = demandTime;
}
public double getQuantity() {
return quantity;
}
public void setQuantity(double quantity) {
this.quantity = quantity;
}
}
例如存在的一篇文章名爲「ArticleSetOfTwo」和數字002集,其中包含篇「第1條」和「第2條」與數字1和2
第1條具有以下需求:(左是日期和右是量)
- 2011年7月11日,10
- 2011年8月11日,50
- 2011-11-15,200
- 2011-11-15,300
- 2011-11-16,100
第2條具有以下需求:
- 2011年8月11日,20
- 2011年9月11日,10
- 2011-11-14,150
- 2011-11-15,150
- 2011-11-16,100
現在我要總結所有的數量在物品組由一個時期我們的枚舉,例如劃分周。那麼這將是對Articleset:
第一週開始於2011年7月11日至13-11-2011這將是:90
第二週開始直到2011-11-14 20-11-2011這將是:1000
我想在一個ArrayList中存儲這些值,但我不知道該怎麼做。也許有人可以解決它。非常感謝您提前!
這是一個巨大的問題。您可能會考慮在未來將問題縮小以便人們更容易回答問題。僅供參考。 – Gray