gpt4 book ai didi

spring-data mongodb 仓库和继承

转载 作者:可可西里 更新时间:2023-11-01 10:05:17 26 4
gpt4 key购买 nike

我创建了一个类用户类:

public class User {
/**
* The list of roles for the user
*/
private List<String> roles;
/**
* The login information
*/
private ICredentials credentials;

/*---- the constructors and getters/setters are omitted ---*/
}

ICredentials 接口(interface):

public interface ICredentials {
}

一个实现:

public class LoginPassword implements ICredentials {
/**
* The login of the user
*/
protected String login;

/**
* The password of the user
*/
protected String password;

/*---- the constructors and getters/setters are omitted ---*/
}

现在,我已经创建了一个存储库来根据凭据查找用户:

public interface MongoUserRepository extends MongoRepository<User, String> {
List<User> findByCredentials(ICredentials credentials);
List<User> findByCredentialsEquals(ICredentials credentials);
}

Spring 记录这个(对于两个请求): org.springframework.data.mongodb.core.MongoTemplate [DEBUG] 使用查询查找:{ "credentials": { "login": "test", "password": "test"}} 字段:类为 null:类 xxx。集合中的用户:用户

而且它没有发现任何东西......它似乎没有发现任何东西,因为没有写入“_class”属性是请求。我认为好的要求应该是:{ "credentials": {"_class":"xxx.LoginPassword", "login": "test", "密码": "测试"}}

我做错了什么吗?我错过了什么吗?

谢谢

我使用 spring mvc 3.2.0、spring-data-commons-core 1.4.0、spring-data-mongodb 1.1.1 和 mongo-java-driver 2.10.1(我已经将所有库更新到最新版本确保这不是一个已经修复但没有成功的错误)

最佳答案

您是否尝试在 ICredentials 界面上方添加 @Document(collection = "users") ?

关于spring-data mongodb 仓库和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com