小编Ric*_*cha的帖子

Hibernate中一对一,多对一和一对多的默认提取类型

hibernate映射中的默认提取类型是什么?

探索之后我才知道的是:

  • 一对一,它是渴望.
  • 对于一对多它是懒惰的.

但是在Eclipse中测试之后,它渴望所有人.

这取决于我使用的是JPA还是Hibernate?

java hibernate jpa

90
推荐指数
3
解决办法
9万
查看次数

如何使用Spring数据与弹性搜索别名进行交互

嗨,我正在使用弹性搜索Spring数据.我的项目的域结构不断变化.所以我必须删除索引才能每次更改映射.为了解决这个问题,我正在使用别名.我用以下方法创建了一个Alias:

elasticsearchTemplate.createIndex(Test.class);
elasticsearchTemplate.putMapping(Test.class);

    String aliasName = "test-alias";
    AliasQuery aliasQuery = new AliasBuilder()
            .withIndexName("test")
            .withAliasName(aliasName).build();

    elasticsearchTemplate.addAlias(aliasQuery);
Run Code Online (Sandbox Code Playgroud)

我有一个测试类:

import org.springframework.data.annotation.Id
import org.springframework.data.elasticsearch.annotations.Document
import org.springframework.data.elasticsearch.annotations.Field
import org.springframework.data.elasticsearch.annotations.FieldIndex
import org.springframework.data.elasticsearch.annotations.FieldType
import org.springframework.data.elasticsearch.annotations.Setting


@Document(indexName = "test", type = "test")
@Setting(settingPath = 'elasticSearchSettings/analyzer.json')
class Test  extends BaseEntity{

@Id
@Field(type = FieldType.String, index = FieldIndex.not_analyzed)
String id

@Field(type = FieldType.String, index = FieldIndex.analyzed, indexAnalyzer = "generic_analyzer", searchAnalyzer = "generic_analyzer")
String firstName



}
Run Code Online (Sandbox Code Playgroud)

TestRepository类:

package com.as.core.repositories

import com.as.core.entities.Test
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository

interface TestRepository extends ElasticsearchRepository<Test, String>          
{


}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何从别名而不是索引本身读取?写操作是否也发生在别名上.我查看了以下链接: …

java elasticsearch spring-data-elasticsearch

6
推荐指数
1
解决办法
4819
查看次数