代码之家  ›  专栏  ›  技术社区  ›  Amer Qarabsa

在spring data elasticsearch中保存枚举

  •  3
  • Amer Qarabsa  · 技术社区  · 7 年前

    我试图使用spring data elasticsearch将我的实体保存在elasticsearch中,所有属性(包括对象)都已保存,但枚举除外。它始终存储为null,这是我的实体

    @Entity
    @Document(indexName="invoices", type="invoices", shards = 1)
    public class Invoice {
    
    @Transient
    @JsonIgnore
    @org.springframework.data.annotation.Id
    private String searchIndex;
    
    @Field(type = FieldType.String)
    private InvoiceStateEnum state;
    

    有@字段和无@字段属性状态保存为null,即使正在保存的对象对此枚举具有值。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Abacus    7 年前

    由于spring data elasticsearch使用Jackson,您可以将 @JsonFormat.Shape.STRING 枚举注释:

    @JsonFormat.Shape.STRING
    public enum InvoiceStateEnum {
      // your enum code
    }
    
        2
  •  0
  •   Amer Qarabsa    7 年前