修改增加上传量下载量逻辑

Change-Id: I5dc30fd08feabca1e2acffb647966e4060d76bd3
diff --git a/src/main/java/entity/SeedHash.java b/src/main/java/entity/SeedHash.java
new file mode 100644
index 0000000..0ca07ab
--- /dev/null
+++ b/src/main/java/entity/SeedHash.java
@@ -0,0 +1,19 @@
+package entity;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "SeedHash")
+public class SeedHash {
+    @Id
+    @Column(name = "seed_id", length = 64)
+    public String seedId;
+
+    @Column(name = "info_hash", length = 40, nullable = false)
+    public String infoHash;
+
+    // optional back‐ref
+    @ManyToOne
+    @JoinColumn(name = "seed_id", insertable = false, updatable = false)
+    public Seed seed;
+}
diff --git a/src/main/java/entity/TransRecord.java b/src/main/java/entity/TransRecord.java
index cf7ac7f..f19155e 100644
--- a/src/main/java/entity/TransRecord.java
+++ b/src/main/java/entity/TransRecord.java
@@ -4,51 +4,55 @@
 import javax.persistence.Entity;
 import javax.persistence.ForeignKey;
 import javax.persistence.Id;
-import javax.persistence.IdClass;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 
 @Entity
 @Table(name = "Transport")
-@IdClass(TransportId.class)
 public class TransRecord{
     @Id
     @Column(name = "task_id", length = 64, nullable = false)
     public String taskid;
 
-    @Id
-    @Column(name = "uploader_id", length = 36, nullable = false)
+    @Column(name = "uploader_id", length = 36, nullable = true)
     public String uploaduserid;
 
-    @ManyToOne(optional = false)
+    @ManyToOne(optional = true)
     @JoinColumn(name = "uploader_id", referencedColumnName = "user_id", foreignKey = @ForeignKey(name = "fk_tr_user_up"), insertable = false, updatable = false)
     public User uploader;
 
-    @Id
-    @Column(name = "downloader_id", length = 36, nullable = false)
+    @Column(name = "downloader_id", length = 36, nullable = true)
     public String downloaduserid;
 
-    @ManyToOne(optional = false)
+    @ManyToOne(optional = true)
     @JoinColumn(name = "downloader_id", referencedColumnName = "user_id", foreignKey = @ForeignKey(name = "fk_tr_user_down"), insertable = false, updatable = false)
     public User downloader;
 
-    @Column(name = "seed_id", length = 64, nullable = false)
+    @Column(name = "seed_id", length = 64, nullable = true)
     public String seedid;
 
-    @ManyToOne(optional = false)
+    @ManyToOne(optional = true)
     @JoinColumn(name = "seed_id", referencedColumnName = "seed_id", foreignKey = @ForeignKey(name = "fk_tr_seed"), insertable = false, updatable = false)
     public Seed seed;
 
-    @Column(name = "uploaded", nullable = false)
-    public long upload;
+    @Column(name = "uploaded", nullable = true)
+    public Long upload = 0L;
 
-    @Column(name = "downloaded", nullable = false)
-    public long download;
+    @Column(name = "downloaded", nullable = true)
+    public Long download = 0L;
 
-    @Column(name = "upload_peak", nullable = false)
-    public long maxupload;
+    @Column(name = "upload_peak", nullable = true)
+    public Long maxupload = 0L;
 
-    @Column(name = "download_peak", nullable = false)
-    public long maxdownload;
+    @Column(name = "download_peak", nullable = true)
+    public Long maxdownload = 0L;
+    
+    // 默认构造函数,确保字段初始化
+    public TransRecord() {
+        this.upload = 0L;
+        this.download = 0L;
+        this.maxupload = 0L;
+        this.maxdownload = 0L;
+    }
 }
\ No newline at end of file