我目前正在将我所做的一个项目从使用Hibernate的Spring Data转换为使用ElasticSearch的Spring Data。
以前,我能够使用注释@generatedvalue(strategy=generationtype.identity)
自动生成实体的id。这样,当实体被保存时,就会为它生成一个id号。
使用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 + "]";
}
是否存在与@GeneratedValue注释等价的ElasticSearch?如果不是,使用ElasticSearch时填充id字段的最佳方法是什么?
https://docs.jboss.org/hibernate/stable/search/reference/en-us/html_single/#search-mapping-entity上的文档似乎表明@generatedvalue
应该可以正常工作。您是否使用了正确的集成库?
我试图使用Spring Data连接Elasticsearch 6.1(我使用Spring Boot) 但是提到最新版本只支持5.2。,有没有支持ES 6.1的替代方案? https://github.com/spring-projects/spring-data-elasticsearch/blob/master/README.md
我正在尝试使用Spring启动和Spring数据沙发库项目创建一个简单的原型。到目前为止,我一直试图使用Spring数据的查询派生机制从方法名称构建N1QL查询, 这阻碍了我。 这是我的存储库接口定义,问题出在findBy…行。 如果我排除该方法定义,则应用程序会毫无问题地启动。如果我包含它,则由于以下错误而无法创建存储库bean: 如果我指定一个@Query(例如:@Query,“#{#n1ql
我正在配置elasticsearch spring应用程序,并遵循我创建的RestHighLevelClient文档: 现在我希望我所有的文档都有snake_case的命名策略,在文档上这是我发现的: 在没有进一步配置的情况下,Spring Data Elasticsearch将使用对象的属性名称作为Elasticsearch中的字段名称。这可以通过使用该属性上的@Field注释来更改单个字段。
我需要firebase来存储任何模型的自动增量Id数据,我应该做什么?
问题内容: 我有一个带有id(guid)列的sql表。如何强制数据库为每条新记录自动生成新的Guid? 问题答案: 添加。