實體欄位與集合名稱
在 Mongo 實體中生成保留原始欄位名稱的 enum 與集合 enum。
實體判別
基本的 webfluxDocumentName 是 Spring Data MongoDB 的 org.springframework.data.mongodb.core.mapping.Document。針對 entityPackage 下帶有該註解的類別進行處理。
生成範例
MemberEntityFields.java
java/**
* Generated by script, do not edit manually
* @see com.example.entity.MemberEntity
*/
public enum MemberEntityFields {
id("_id"),
accountName("account_name"),
createdAt("createdAt");
private final String rawName;
MemberEntityFields(String rawName) {
this.rawName = rawName;
}
public String getRawName() {
return rawName;
}
@Override
public String toString() {
return rawName;
}
}探索原始欄位名稱
Java 欄位名稱為預設值,從 Spring Data 的 @Field、關聯/JPA 的 @Column、Jackson 的 @JsonProperty 的值或名稱中以字串形式讀取。Java 關鍵字、以數字開頭的名稱和特殊字元將轉換為安全的 enum 識別符,但 rawName 保持不變。
EntityFileWatcher.Config
rootPath
基本 src/main/java
entityPackage
entity 來源包
fieldPackage
{Entity}Fields 輸出包
collectionNamePackage
CollectionNames 輸出包
collectionNameEnum
基本 CollectionNames
webfluxDocumentName
entity 判別註解 FQN