實體欄位與集合名稱

在 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

不直接修改生成的檔案

© 2026 Byeolnaerim. 版權所有。介紹隱私政策