`

JPA BaseEntity设计

阅读更多

@MappedSuperclass
@Data
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseEntity {

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name="system-uuid",strategy = "uuid")
    @Column(name = "id", length = 32)
    @JsonIgnore
    private String id;

    // additional field
    @CreatedDate
    @JsonIgnore
    private Date createdDate;
    @CreatedBy
    private String createdBy;
    @JsonIgnore
    @LastModifiedDate
    private Date modifiedDate;
    @LastModifiedBy
    private String modifiedBy;

    @JsonIgnore
    @Column(name = "is_active")
    private boolean isActive = true;
}



子类继承方式:
@Entity
@Data
@EqualsAndHashCode(callSuper = false)
@SQLDelete(sql = "UPDATE order SET is_active = 0 where id = ?")
@Where(clause="is_active=1")
public class Order extends BaseEntity {
分享到:
评论

相关推荐

    JPA入门(一)

    **JPA入门(一)** Java Persistence API(JPA)是Java平台上的一个标准,用于对象关系映射(ORM),它允许开发人员使用面向对象的编程模型来操作数据库。这篇入门教程将帮助初学者理解JPA的基本概念和用法。 **1....

    Springboot集成JPA,开箱即用.pdf

    ### Spring Boot集成JPA,开箱即用 #### 1. 概述 Spring Boot集成JPA(Java Persistence API)可以极大地简化数据访问层的开发工作。JPA提供了一种对象关系映射的方式,允许开发者将Java对象直接映射到数据库表上...

    hibernate常见异常针对于jpa

    在这种情况下,`BaseEntity`可以被标记为`@MappedSuperclass`,而`User`和`Product`则分别使用`@Entity`注解。 #### 四、@ManyToOne与@OneToMany关联关系 在Hibernate中,`@ManyToOne`和`@OneToMany`用来定义实体...

    spring-jpa-inheritance

    在处理继承关系时,需要合理设计实体类的结构,以适应业务需求并优化数据库性能。 例如,如果你的应用场景中需要频繁进行子类查询,那么选择表格派生策略可能更合适,因为可以避免跨表查询。相反,如果数据模型相对...

    基于springboot的web项目最佳实践+源代码+文档说明

    + [baseEntity](#baseEntity) + [统一响应返回值](#result) + [异常](#exception) + [数据校验](#validation) + [日志](#log) + [swagger](#swagger) + [数据库连接池](#datasource) + [spring jdbc](#jdbc) + [jpa]...

    Spring Boot下如何自定义Repository中的DAO方法

    Spring Data JPA 是基于 Java Persistence API(JPA)的数据访问层框架,提供了一个简洁易用的方式来访问数据库。通过使用 Spring Data JPA,我们可以轻松地实现数据的 CRUD 操作。 自定义 DAO 方法的必要性 ------...

    springboot+mybatisplus

    2. **起步依赖**:Spring Boot提供了许多“起步依赖”(Starter POMs),这些依赖包含了运行一个特定功能所需的所有依赖,比如`spring-boot-starter-data-jpa`用于JPA数据访问。 3. **内嵌式容器**:Spring Boot支持...

    ExtJS实现多文件上传UploadDialog For ExtJS3.x

    在这个例子中,我们使用JPA(Java Persistence API)的注解来定义实体和其属性,如`@Entity`、`@Table`、`@Id`、`@GeneratedValue`等。这将帮助我们在数据库中管理`Demo`对象的生命周期。 ```java package ...

    spring boot实现软删除的示例代码

    在Spring Boot中,我们可以利用Spring Data JPA的特性来实现软删除。以下是具体的实现步骤和解决方案: 1. **定义实体的软删除属性**: 首先,创建一个基类`BaseEntity`,在这个类中定义一个布尔类型的`deleted`...

    springboot+mybatis-plus集成

    在Spring Boot项目中,我们通常使用 Starter POMs 来引入所需的模块,例如 `spring-boot-starter-web` 用于构建Web应用,`spring-boot-starter-data-jpa` 或 `spring-boot-starter-data-sqlserver` 用于数据访问。...

    mybatis-plus-demo.zip

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地进行开发工作。 2. **MyBatis-Plus 简介** MyBatis-Plus 是在 MyBatis 基础上进行拓展,提供更丰富的 CRUD ...

    hibernate-annotations-3.4.0.jar

    public abstract class BaseEntity { // ... } ``` 5. **查询注解**:除了基本的CRUD操作,Hibernate还提供了`@NamedQuery`和`@NamedNativeQuery`注解来定义预编译的查询,提高查询性能。同时,`@Query`注解在...

    springBoot整合mybatis plus

    它集成了大量的常用第三方库配置,如JPA、RabbitMQ、Quartz等,使得开发者可以“零配置”运行。 ### 2. MyBatis Plus简介 MyBatis Plus是在MyBatis的基础上增加了很多实用功能,如:无注解SQL编写、条件构造器、...

    持久层开源工具MyBatis-Plus快速入门,Spring Boot整合MyBatis-Plus简化开发示例代码

    <artifactId>spring-boot-starter-data-jpa ``` 然后,配置MyBatis-Plus。在`application.yml`或`application.properties`文件中添加以下内容: ```yaml mybatis-plus: global-config: db-config: id-type: ...

    深入浅出Hibernate(含源码)

    7. **Criteria API与Query API**:Query API是JPA标准的一部分,Hibernate也提供了对JPQL的支持,这两者与Criteria API一起提供了灵活的查询手段。 8. **级联操作**:Hibernate允许在保存、更新或删除一个实体时,...

    springboot-mybatisplus:springboot整合mybatisplus

    Spring Boot是由Pivotal团队提供的全新框架,其设计目标是简化Spring应用的初始搭建以及开发过程。它预设了很多默认配置,如Tomcat服务器、JPA数据源等,开发者无需额外配置即可快速构建应用。Spring Boot通过“起步...

Global site tag (gtag.js) - Google Analytics