标签: spring-data-keyvalue

是否可以使用 RedisRepositories 和 KeyValueRepositories?

我正在尝试在项目中使用@EnableRedisRepositories@EnableMapRepositories,但收到以下错误消息:

相关原因:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“redisConverter”的bean时出错:通过构造函数参数0表示的不满意依赖:无法转换类型[org.springframework.data.keyvalue.core.mapping的参数值。 context.KeyValueMappingContext] 到所需类型 [org.springframework.data.redis.core.mapping.RedisMappingContext]:无法将类型“org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext”的值转换为所需类型“ org.springframework.data.redis.core.mapping.RedisMappingContext'; 嵌套异常是 java.lang.IllegalStateException:无法将“org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext”类型的值转换为所需类型“org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext”。

那么是否可以在同一个项目中同时使用两者?

spring spring-data-redis spring-data-keyvalue

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

带有抽象类/继承的Spring Data Rest存储库

我无法通过类继承工作获得Spring Data Rest.

我想要一个JSON端点来处理我所有的具体类.

回购:

public interface AbstractFooRepo extends KeyValueRepository<AbstractFoo, String> {}
Run Code Online (Sandbox Code Playgroud)

抽象类:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
  @JsonSubTypes.Type(value = MyFoo.class, name = "MY_FOO")
})
public abstract class AbstractFoo {
  @Id public String id;
  public String type;
}
Run Code Online (Sandbox Code Playgroud)

具体类:

public class MyFoo extends AbstractFoo { }
Run Code Online (Sandbox Code Playgroud)

现在打电话POST /abstractFoos{"type":"MY_FOO"},它告诉我:java.lang.IllegalArgumentException: PersistentEntity must not be null!.

这似乎发生了,因为Spring不知道MyFoo.

有没有办法告诉Spring Data REST MyFoo而不为它创建存储库和REST端点?

(我使用的是Spring Boot 1.5.1和Spring Data REST 2.6.0)

编辑:

Application.java: …

inheritance spring spring-data spring-data-rest spring-data-keyvalue

5
推荐指数
1
解决办法
5934
查看次数