首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发出获取在CrudRepository中生成的命令以将其转换为函数

问发出获取在CrudRepository中生成的命令以将其转换为函数
EN

Stack Overflow用户
提问于 2019-06-06 01:36:27
回答 2查看 39关注 0票数 0

我的问题在于,我做的一个应该工作的函数却不能工作。CRUD是一个使用特定命名约定来创建函数的扩展,我似乎不能正确使用它。

代码语言:javascript
复制
    import org.springframework.data.repository.CrudRepository;

    public interface UserRepository extends CrudRepository<User, Long>{

//JPA creates this query findBy{variable name}
User findByEmail(String email);

Iterable<User> findAllByTeamId(String TeamId);//WHERE THE ISSUE SEEMS TO LIE

User findBySlackIdAndTeamId(String slackId, String teamId);

User findByResetToken(String resetToken);
   }

下面是它进入的类UserService.java的代码,由于没有正确读取findAllByTeamId()而导致它无法编译。我在这里做错了什么?这两个代码中的哪一个需要更改才能正常运行?

代码语言:javascript
复制
    @Service
    public class UserService {

@Autowired
private UserRepository userRepository;

public User saveUser(User user)
{
    return userRepository.save(user);   //Returns the user it saves?

}

//CREATE GETUSERSBYTEAMID -- WHERE THE ISSUE SEEMS TO LIE
public List<User> findAllByTeamId(String id)
{
    List<User> users = new ArrayList<>();

    Iterable<User> usersIterable = userRepository.findAllByTeamId(id);
    usersIterable.forEach(users::add);
    return users;

}


public List<User> getAllUsers()
{
    List<User> users = new ArrayList<>();

    Iterable<User> usersIterable = userRepository.findAll();
    usersIterable.forEach(users::add);
    return users;

}

public User findByEmail(String email)
{
    User user = userRepository.findByEmail(email);
    return user;
}

public User findBySlackIdAndTeamId(String slackId, String teamId)
{
    User user = userRepository.findBySlackIdAndTeamId(slackId, teamId);
    return user;
}

public User findByResetToken(String resetToken)
{
    return userRepository.findByResetToken(resetToken);
}
    }
EN

回答 2

Stack Overflow用户

发布于 2019-06-06 15:50:45

欢迎来到Stack Overflow。:)

我尝试将您的代码复制粘贴到我的项目中,它正在编译,没有错误。你能提供用户类和异常堆栈跟踪吗?

顺便说一句,方法findAllByTeamId的参数首字母大写。:)

代码语言:javascript
复制
Iterable<User> findAllByTeamId(String TeamId);
票数 0
EN

Stack Overflow用户

发布于 2019-06-06 17:00:26

如果您将它们放在不同的包中,请确保findAllByTeamId是公共方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56465446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档