java - JPA 注释在插入时替换字符
问题描述
我有一个实体,我在其中声明了一个名为“名称”的字段。该字段表示文件名。我需要做的是用空字符串或其他字符串替换 Windows 文件名中不允许的所有特殊字符,以便在我保存该实体时它们不会进入数据库。
@Data
@Entity
@NoArgsConstructor
@AllArgsConstructor
@Where(clause = "is_active = true")
@EqualsAndHashCode(callSuper = true)
@Table(name = "File")
public class FileEntity extends BaseEntity {
@NotBlank
@Column(name = "Name", unique = true)
private String name;
...
}
因此,假设我放置了一个名称School project : 123
,我想用下划线替换冒号,就像您所做的那样 via name.replaceAll("[^/./\\:*?\"<>|]", "_");
,因此存储在数据库中的结果名称将是School project _ 123
这甚至可以通过注释(包括在replaceAll()
那里)还是我在这里问错误的问题?
解决方案
您需要声明 setter,在其中通过替换要替换的符号来转换原始字符串。
推荐阅读
- function - 为什么当我直接输出从
我该如何阻止它? - wordpress - 使用另一个网站到达 wordpress 管理页面
- azure - 如何获取在应用程序网关上 ping 我的应用程序的所有 IP 地址
- javascript - 将 vuex 模块持久化到 nativescript-vue 中的存储中
- python - 有没有更好的验证密码的方法?
- visual-studio-code - Visual Studio Code Chrome 调试扩展打开一个新的 Chrome 页面,而不是在 VSC GUI 中调试
- c# - 如何使用基于 TabControl 中选定选项卡的特定类?
- c# - 如何制作枚举值和整数的二维数组
- python - 将一个列表中的每个项目拆分为具有键值对的二维列表
- mysql - MySQL 使用引用连接表