【发布时间】:2011-11-16 18:57:19
【问题描述】:
请原谅我的英语不好...
在我的数据库中有存储的文章集。在每个文章集中都有几篇不同的文章。每件商品都有不同的需求,包括日期和数量。
在项目中有一个如下所示的枚举:
public enum PeriodDefinition {
Individual,
Day,
Week,
Month,
Quarter,
HalfYear,
Year
}
Article的实体是这样的:
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 的文章“Article 1”和“Article 2”。
第1条有如下要求:(左为日期,右为数量)
- 07-11-2011, 10
- 08-11-2011, 50
- 15-11-2011, 200
- 15-11-2011, 300
- 16-11-2011, 100
第2条有以下要求:
- 08-11-2011, 20
- 09-11-2011, 10
- 14-11-2011, 150
- 15-11-2011, 150
- 16-11-2011, 100
现在我想总结文章集中的所有数量除以我们枚举的一个时期,例如星期。那么这将适用于 Articleset:
从 2011 年 7 月 11 日到 2011 年 11 月 13 日的第一周将是:90
从 2011 年 14 月 11 日到 2011 年 11 月 20 日的第二周,它将是:1000
我想将这些值存储在 ArrayList 中,但我不知道该怎么做。也许有人可以解决它。非常感谢您!
【问题讨论】:
-
这是一个很大的问题。您可能会考虑在将来缩小您的问题,以便人们更容易回答它们。仅供参考。