diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/CsvResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/CsvResourceFormat.java index 4cfe753..2b61679 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/CsvResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/CsvResourceFormat.java @@ -1,5 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.format; +import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.AllArgsConstructor; @@ -7,6 +9,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * CSV格式 @@ -21,6 +25,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @DiscriminatorValue("CSV") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class CsvResourceFormat extends ResourceFormat { private String schema; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonLineResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonLineResourceFormat.java index c4000b7..99065b5 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonLineResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonLineResourceFormat.java @@ -1,5 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.format; +import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.AllArgsConstructor; @@ -7,6 +9,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * JSON line格式 @@ -21,6 +25,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @DiscriminatorValue("JSON_LINE") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class JsonLineResourceFormat extends ResourceFormat { private String schema; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonResourceFormat.java index d57d769..c9ce622 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/JsonResourceFormat.java @@ -1,5 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.format; +import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.AllArgsConstructor; @@ -7,6 +9,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * 一个文件就是一个JSON @@ -21,6 +25,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @DiscriminatorValue("JSON") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class JsonResourceFormat extends ResourceFormat { private String schema; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/LineResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/LineResourceFormat.java index 9483dc9..454a2df 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/LineResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/LineResourceFormat.java @@ -1,10 +1,14 @@ package com.eshore.gringotts.web.domain.resource.entity.format; +import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.Getter; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * 无格式,文件每行就是一份数据 @@ -17,6 +21,8 @@ import lombok.ToString; @ToString @Entity @DiscriminatorValue("LINE") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class LineResourceFormat extends ResourceFormat { @Override public Type getFormatType() { diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/NoneResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/NoneResourceFormat.java index 3c7e699..b134137 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/NoneResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/NoneResourceFormat.java @@ -1,10 +1,14 @@ package com.eshore.gringotts.web.domain.resource.entity.format; +import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lombok.Getter; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * 无格式,整个文件就是一份数据 @@ -17,6 +21,8 @@ import lombok.ToString; @ToString @Entity @DiscriminatorValue("NONE") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class NoneResourceFormat extends ResourceFormat { @Override public Type getFormatType() { diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/ResourceFormat.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/ResourceFormat.java index 622168d..c1fda43 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/ResourceFormat.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/format/ResourceFormat.java @@ -1,9 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.format; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.IdOnlyEntity; -import javax.persistence.DiscriminatorColumn; -import javax.persistence.DiscriminatorType; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @@ -11,6 +9,8 @@ import javax.persistence.Table; import lombok.Getter; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * 资源格式 @@ -24,8 +24,9 @@ import lombok.ToString; @Entity @Table(name = Constants.TABLE_PREFIX + "resource_format") @Inheritance(strategy = InheritanceType.SINGLE_TABLE) -@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING) -public abstract class ResourceFormat extends IdOnlyEntity { +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_format" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) +public abstract class ResourceFormat extends LogicDeleteIdOnlyEntity { public enum Type { NONE, LINE, diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ApiResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ApiResourceType.java index c410d89..8efc41e 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ApiResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ApiResourceType.java @@ -1,6 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.type; import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -9,6 +10,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; @Getter @Setter @@ -17,6 +20,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_api") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_api" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class ApiResourceType extends ResourceType { @Column(nullable = false) private String url; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/DatabaseResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/DatabaseResourceType.java index 2a67340..1f0fbb0 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/DatabaseResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/DatabaseResourceType.java @@ -1,6 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.type; import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; @@ -11,6 +12,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; @Getter @Setter @@ -19,6 +22,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_database") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_database" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class DatabaseResourceType extends ResourceType { @Column(nullable = false) private String jdbc; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FileResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FileResourceType.java index 2cbfc1b..3572657 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FileResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FileResourceType.java @@ -1,13 +1,12 @@ package com.eshore.gringotts.web.domain.resource.entity.type; import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import com.eshore.gringotts.web.domain.upload.entity.DataFile; import javax.persistence.ConstraintMode; import javax.persistence.Entity; import javax.persistence.ForeignKey; import javax.persistence.JoinColumn; -import javax.persistence.NamedAttributeNode; -import javax.persistence.NamedEntityGraph; import javax.persistence.OneToOne; import javax.persistence.Table; import lombok.AllArgsConstructor; @@ -15,6 +14,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; @Getter @Setter @@ -23,9 +24,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_file") -@NamedEntityGraph(name = "file_resource_type.detail", attributeNodes = { - @NamedAttributeNode(value = "file") -}) +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_file" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class FileResourceType extends ResourceType { @OneToOne @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FtpResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FtpResourceType.java index 24f3447..560dfcc 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FtpResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/FtpResourceType.java @@ -1,6 +1,7 @@ package com.eshore.gringotts.web.domain.resource.entity.type; import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -9,6 +10,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; @Getter @Setter @@ -17,6 +20,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_ftp") +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_ftp" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class FtpResourceType extends ResourceType { @Column(nullable = false) private String url; diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/HDFSResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/HDFSResourceType.java index 51f77b2..eee7c42 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/HDFSResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/HDFSResourceType.java @@ -1,13 +1,12 @@ package com.eshore.gringotts.web.domain.resource.entity.type; import com.eshore.gringotts.core.Constants; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteIdOnlyEntity; import com.eshore.gringotts.web.domain.upload.entity.DataFile; import javax.persistence.ConstraintMode; import javax.persistence.Entity; import javax.persistence.ForeignKey; import javax.persistence.JoinColumn; -import javax.persistence.NamedAttributeNode; -import javax.persistence.NamedEntityGraph; import javax.persistence.OneToOne; import javax.persistence.Table; import lombok.AllArgsConstructor; @@ -15,6 +14,8 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; @Getter @Setter @@ -23,10 +24,8 @@ import lombok.ToString; @NoArgsConstructor @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type_hdfs") -@NamedEntityGraph(name = "hdfs_resource_type.detail", attributeNodes = { - @NamedAttributeNode(value = "coreSite"), - @NamedAttributeNode(value = "hdfsSite"), -}) +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type_hdfs" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public class HDFSResourceType extends ResourceType { @OneToOne @JoinColumn(nullable = false, foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ResourceType.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ResourceType.java index 4651e5f..485436c 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ResourceType.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/resource/entity/type/ResourceType.java @@ -9,6 +9,8 @@ import javax.persistence.Table; import lombok.Getter; import lombok.Setter; import lombok.ToString; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * 资源类型 @@ -21,7 +23,9 @@ import lombok.ToString; @ToString @Entity @Table(name = Constants.TABLE_PREFIX + "resource_type") -@Inheritance(strategy = InheritanceType.JOINED) +@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "resource_type" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteIdOnlyEntity.LOGIC_DELETE_CLAUSE) public abstract class ResourceType extends LogicDeleteIdOnlyEntity { public abstract Type getResourceType(); diff --git a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/upload/entity/DataFile.java b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/upload/entity/DataFile.java index 6cbf926..78af640 100644 --- a/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/upload/entity/DataFile.java +++ b/gringotts-web/src/main/java/com/eshore/gringotts/web/domain/upload/entity/DataFile.java @@ -1,13 +1,15 @@ package com.eshore.gringotts.web.domain.upload.entity; import com.eshore.gringotts.core.Constants; -import com.eshore.gringotts.web.domain.base.entity.SimpleEntity; +import com.eshore.gringotts.web.domain.base.entity.LogicDeleteEntity; import javax.persistence.Entity; import javax.persistence.Table; import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; /** * 上传文件 @@ -21,7 +23,9 @@ import org.hibernate.annotations.DynamicUpdate; @Entity @DynamicUpdate @Table(name = Constants.TABLE_PREFIX + "data_file") -public class DataFile extends SimpleEntity { +@SQLDelete(sql = "update " + Constants.TABLE_PREFIX + "data_file" + " set deleted = true where id = ?") +@Where(clause = LogicDeleteEntity.LOGIC_DELETE_CLAUSE) +public class DataFile extends LogicDeleteEntity { private String filename; private Long size; private String md5;