我的问题在于,我做的一个应该工作的函数却不能工作。CRUD是一个使用特定命名约定来创建函数的扩展,我似乎不能正确使用它。
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()而导致它无法编译。我在这里做错了什么?这两个代码中的哪一个需要更改才能正常运行?
@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);
}
}发布于 2019-06-06 15:50:45
欢迎来到Stack Overflow。:)
我尝试将您的代码复制粘贴到我的项目中,它正在编译,没有错误。你能提供用户类和异常堆栈跟踪吗?
顺便说一句,方法findAllByTeamId的参数首字母大写。:)
Iterable<User> findAllByTeamId(String TeamId);发布于 2019-06-06 17:00:26
如果您将它们放在不同的包中,请确保findAllByTeamId是公共方法。
https://stackoverflow.com/questions/56465446
复制相似问题