elasticsearch - SpringData(4.x)Elastic无法正确序列化实体

标签 elasticsearch spring-data-jpa spring-data-elasticsearch

我正在使用spring-data-elasticsearch-4.0.1-RELEASE和elastic 7.6.2。存储实体时,某些对象未正确序列化。它存储如下:

"ownerResource": {
"_class": "x.xxx.xxx.Resource$HibernateProxy$b6cxNN75"
}, ```

最佳答案

我的建议是:不要使用您在关系数据库中存储的相同实体来将它们存储在Elasticsearch中。
从Hibernate或JPA获得的是一个实体,该实体基本上是您的实体类的代理,能够通过懒惰地获取属性来填充属性。
这就是您存储在动态创建的代理类Elasticsearch中的内容。
如果您在将实体的属性存储到Elasticsearch中之前未加载它们的属性,则要在其中存储什么?
因此,为您的Elasticsearch实体创建一个类,从您的JPA实体复制相关/需要的数据,并将其存储在Elasticsearch中。

关于elasticsearch - SpringData(4.x)Elastic无法正确序列化实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62699350/

相关文章:

spring-boot - 在 Elasticsearch 或 Spring 数据 Elasticsearch 中使用源过滤是否会对性能产生影响?

elasticsearch - 当字段名称未知时,如何在弹性中编写搜索查询

elasticsearch - 查询键的值至少为某个数字的elasticsearch

spring-boot - Spring Data JPA "Couldn' t find PersistentEntity"for List<String>

java - Hibernate 期望时间戳数据库列的日期

elasticsearch - ElasticSearch通用网址仅返回10个项目

spring-boot - 使用 Spring Data 原生查询时,位置 [1] 的参数不存在错误

elasticsearch - 使用非必填字段创建Elasticsearch索引进行排序

spring-boot - 单元测试时如何模拟ElasticsearchOperations(spring-data-elasticsearch v.4.0.3)

java - 如何在Spring Data Elasticsearch中设置注解属性