我目前正在将一个使用Spring Data和Hibernate的项目转换到Spring Data和ElasticSearch。
之前,我能够使用注解@GeneratedValue(strategy = GenerationType.IDENTITY)
自动生成实体的id。这样,当保存实体时,会为其生成一个id编号。
然而,我似乎找不到ElasticSearch使用的类似注解来达到同样的结果。
使用Hibernate注解的实体:
@Entity
@Table(name = "person")
public class Person {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private int age;
public long getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
}
是否有 ElasticSearch 的 @GeneratedValue 注解的等效物?如果没有,那么在使用 ElasticSearch 时填充 id 字段的最佳方法是什么?