JPA 注释替换插入的字符
JPA annotation replace characters on insert
我有一个实体,我在其中声明了一个名为“名称”的字段。该字段表示文件名。我需要做的是用空字符串或其他字符串替换 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
我想用下划线替换冒号,就像您通过 name.replaceAll("[^/./\:*?\"<>|]", "_");
所做的那样,因此存储在数据库中的结果名称将是 School project _ 123
这甚至可以通过注释(包括 replaceAll()
那里)或者我在这里问错问题了吗?
您需要声明setter,其中通过替换要替换的符号来转换原始字符串。
我有一个实体,我在其中声明了一个名为“名称”的字段。该字段表示文件名。我需要做的是用空字符串或其他字符串替换 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
我想用下划线替换冒号,就像您通过 name.replaceAll("[^/./\:*?\"<>|]", "_");
所做的那样,因此存储在数据库中的结果名称将是 School project _ 123
这甚至可以通过注释(包括 replaceAll()
那里)或者我在这里问错问题了吗?
您需要声明setter,其中通过替换要替换的符号来转换原始字符串。