当前位置: 首页 > news >正文

SpringBoot PO VO BO POJO实战指南

基于Spring Boot的PO(持久化对象)

以下是一些基于Spring Boot的PO(持久化对象)实例示例,涵盖不同场景和功能:

基础PO类示例

@Entity
@Table(name = "users")
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String username;private String email;
}
@Entity
@Table(name = "products")
public class Product {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;private BigDecimal price;
}

关联关系示例

@Entity
@Table(name = "orders")
public class Order {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@ManyToOne@JoinColumn(name = "user_id")private User user;
}
@Entity
@Table(name = "order_items")
public class OrderItem {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@ManyToOne@JoinColumn(name = "order_id")private Order order;@ManyToOne@JoinColumn(name = "product_id")private Product product;
}

继承关系示例

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "vehicle_type")
public abstract class Vehicle {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String manufacturer;
}

@Entity
@DiscriminatorValue("CAR")
public class Car extends Vehicle {private int numberOfDoors;
}

复杂类型处理

@Entity
public class Employee {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Embeddedprivate Address address;
}

@Embeddable
public class Address {private String street;private String city;private String zipCode;
}

审计字段示例

@Entity
@EntityListeners(AuditingEntityListener.class)
public class Document {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@CreatedDateprivate LocalDateTime createdAt;@LastModifiedDateprivate LocalDateTime updatedAt;
}

枚举类型处理

@Entity
public class Order {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Enumerated(EnumType.STRING)private OrderStatus status;
}public enum OrderStatus {PENDING, PROCESSING, COMPLETED, CANCELLED
}

集合类型处理

@Entity
public class Student {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@ElementCollection@CollectionTable(name = "student_phone_numbers", joinColumns = @JoinColumn(name = "student_id"))private Set<String> phoneNumbers = new HashSet<>();
}

JSON类型处理

@Entity
public class Product {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(columnDefinition = "json")private String specifications;
}

多租户示例

@Entity
public class TenantAwareEntity {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(name = "tenant_id")private String tenantId;
}

软删除示例

@Entity
public class Customer {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(name = "is_deleted")private boolean deleted;
}

版本控制示例

@Entity
public class BankAccount {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Versionprivate Long version;
}

自定义ID生成器

@Entity
public class Invoice {@Id@GeneratedValue(generator = "uuid")@GenericGenerator(name = "uuid", strategy = "uuid2")private String id;
}

时间处理

@Entity
public class Event {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Temporal(TemporalType.TIMESTAMP)private Date startTime;
}

大对象处理

@Entity
public class Document {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Lobprivate byte[] content;
}

索引示例

@Entity
@Table(name = "employees", indexes = @Index(columnList = "department_id"))
public class Employee {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private Long 
http://www.dtcms.com/a/292798.html

相关文章:

  • 十进制小数转换为二进制表示 ← 除2取余法+乘2取整法
  • csp基础知识——递推
  • SMTP+VRRP实验
  • Markdown 转 PDF API 数据接口
  • REASONING ELICITATION IN LANGUAGE MODELSVIA COUNTERFACTUAL FEEDBACK
  • 高性能线程安全的时间有序 UUID 生成器 —— 基于 ThreadLocal 的实现
  • 实操:AWS CloudFront的动态图像转换
  • Cadence 原理图如何给网络名称添加页码
  • 『React』条件渲染的7种方法
  • 基于Prompt 的DevOps 与终端重塑
  • 装备数字孪生底座平台探索
  • HTTP 协议常见字段(请求头/响应头)
  • 虚幻5入门教程:如何在虚幻5中创建一个C++的Plugin
  • android 12 的 aidl for HAL 开发示例
  • VR技术在元宇宙游戏中的作用及发展前景深度分析
  • Fluent许可与网络安全策略
  • 基于JSP的快递管理系统/快递寄出管理系统
  • 初识opencv01——基本api操作
  • Transactional事务不生效案例与解决方案?
  • 基于深度学习Transform的steam游戏特征分析与可视化【词云-情感词典分析-主题分析-词频分析-关联分析】
  • Android 自动的文件管理器存在以下问题,文件管理器横竖屏切换会停止运行,如何解决
  • 多维基分析求导法则
  • DNS应用层协议
  • OEC 刷机Armbain 25.05后配置说明
  • Vue3中watch和watchEffect区别和用法
  • 安装UV(一个python工具)
  • C语言符号可见性控制与工程实践——深入理解 __attribute__((visibility)) 和 -fvisibility=hidden
  • 【bug】Yolo11在使用tensorrt推理numpy报错
  • 在线教育培训课程视频如何防下载、防盗录?
  • Java(LinkedList和ArrayList底层分析)