## 使用Spring Boot和Hibernate开发OA系统邮件管理模块
使用Spring Boot和Hibernate开发一个OA系统的邮件管理模块。该模块将支持邮件发送、接收、存储、查找、分类、标签管理,以及附件的上传和接收。前端部分使用Thymeleaf模板引擎,数据库选择MySQL。
### 项目结构
项目结构如下:
```
oa-system/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── oasystem/
│ │ │ ├── controller/
│ │ │ │ ├── MailController.java
│ │ │ ├── model/
│ │ │ │ ├── Mail.java
│ │ │ │ ├── Attachment.java
│ │ │ │ └── Label.java
│ │ │ ├── repository/
│ │ │ │ ├── MailRepository.java
│ │ │ │ ├── AttachmentRepository.java
│ │ │ │ └── LabelRepository.java
│ │ │ ├── service/
│ │ │ │ ├── MailService.java
│ │ │ │ └── AttachmentService.java
│ │ │ └── OasystemApplication.java
│ │ ├── resources/
│ │ │ ├── templates/
│ │ │ │ ├── mail/
│ │ │ │ │ ├── compose.html
│ │ │ │ │ ├── inbox.html
│ │ │ │ │ └── view.html
│ │ │ ├── application.properties
│ └── test/
├── pom.xml
```
### 主要功能实现
#### 1. 创建模型类
定义三个模型类:Mail、Attachment 和 Label。
```java
// Mail.java
package com.example.oasystem.model;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
@Entity
public class Mail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
&n