@Data
@Entity
@Table(name = "APPLICATIONS", schema = "AIM")
public class Application2 { }
您可以创建一个基础实体并从中继承其他实体。这意味着基本实体类都将实现所有共同的所有内容,而不同的一切都将是子类中的覆盖和/或其他功能。请参阅这篇文章,其中讲述了所有具有ID的实体以及它为审核提供特定示例的基础实体的创建。这是他们提供审核的示例:
import jakarta.persistence.Column;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
@Getter
@Setter
@MappedSuperclass
public abstract class BaseEntityAudit extends BaseEntity implements Serializable {
private String createdBy;
private String updatedBy;
@CreationTimestamp
@Column(name = "created_at", updatable = false)
private Date createdAt;
@UpdateTimestamp
@Column(name = "updated_at")
private Date updatedAt;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof BaseEntityAudit)) return false;
if (!super.equals(o)) return false;
BaseEntityAudit that = (BaseEntityAudit) o;
return createdBy.equals(that.createdBy) &&
updatedBy.equals(that.updatedBy) &&
createdAt.equals(that.createdAt) &&
updatedAt.equals(that.updatedAt);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(),
createdBy, updatedBy, createdAt, updatedAt);
}
@Override
public String toString() {
return "BaseEntityAudit{" +
"createdBy='" + createdBy + '\\'' +
", updatedBy='" + updatedBy + '\\'' +
", createdAt=" + createdAt +
", updatedAt=" + updatedAt +
"}" +
super.toString();
}
}
the:它是抽象的,这不是必需的,但是除非您具有根实体类型,否则这是有道理的。因此,如果您有一个人,然后想要某些人的其他表格,那么您可能会选择不抽象,但是如果没有主要的,默认的类型,那么最好的剩下是Abstract,Ampactrackyly
IT没有指定它指的是哪个表,因为它是抽象的,当然,如果适合您的需求更好,您可以使用具体的基础类型。 这是从基本实体类型继承的实体类:
import com.example.entity.common.BaseEntityAudit;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Getter
@Setter
@Table(name = "users")
public class User extends BaseEntityAudit {
@Column(name = "name")
private String name;
@Column(name = "email")
private String email;
@Override
public String toString() {
return "User{" +
"name='" + name + '\\'' +
", email='" + email + '\\'' +
'}' +
super.toString();
}
}
如果您的表实际上只有它们的名称有所不同,那么您将拥有的实体类将具有自己的表格规范,该类声明为扩展基本实体类,仅此而已。但是您可以选择具有自定义功能,例如上面的示例。