请原谅我的坏英语...枚举 - 数量 - 休眠
在我的数据库中存储文章集。在每篇文章中都有几篇不同的文章。每篇文章对日期和数量都有不同的要求。
在项目有一个枚举,看起来像这样:
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