出于学校目的,我正在为基于GWT和MapDB的java Web应用程序工作以实现数据持久性。由于我不熟悉MapDB,我需要一些帮助。我的应用程序必须管理一个在线系统,通过拍卖机制进行销售和购买。注册用户可以销售产品并为其他用户选择的产品出价(或提问)。以下是我设计课程的方法:
拍卖类:
public class Auction implements Serializable {
private int id; //unique id
private String seller; //the (unique) username of the seller
private String objName;
private String description;
private String category;
private Double startPrice;
private Date expDate;
private Boolean state; //closed or open
private Bid currentBid;
private String winner; //the user who wins
private Infos info; //questions and answers
信息类:
public class Infos implements Serializable {
private int id; //unique id
private String question;
private String answer;
出价等级:
public class Bid implements Serializable {
private String bidder; //username of the user who puts the bid
private Double bidPrice;
我用这种方式创建了DB的文件:
DB db = DBMaker.newFileDB(new File(FILE_NAME)).closeOnJvmShutdown().make();
ConcurrentNavigableMap<Integer, Auction> auction= db.getTreeMap("auction");
现在我在想我做错了什么。拍卖可以有多个出价和一个以上的问题(和答案)。另外,只有正在销售的用户才能回答有关该拍卖的问题。也许我必须删除竞标中的竞标字段并在竞标中插入字段竞价?拍卖是否有必要知道什么是出价和信息?