我需要让用户通过jpa发送电子邮件
我有这个代码:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
User findByEmail(@Param("email") String email);
User findById(@Param("id") Long id);
}
当我尝试这个时:
User owner = userRepository.findById(user.getId()); //yes
User user=userRepository.findByEmail(email);//no
我的班级用户是:
@Entity
@Table(name = "User")
public class User implements Serializable {
private static final long serialVersionUID = -3009157732242241606L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "name")
private String name;
@Column(name = "password")
private String password;
@Column(name = "email")
private String email;
public User() {
}
//getters and setters
}
我想通过用户的电子邮件获取用户,如果我可以通过其ID获取,但我也需要通过电子邮件获取
答案 0 :(得分:1)
在您的模型类中,“电子邮件”不是唯一的,因此它将返回多行以避免添加
@Entity
@Table(name = "User")
public class User implements Serializable {
.....
@Column(unique=true,...)// .. add your extra
private String email;
.....
}
答案 1 :(得分:0)
如果您希望返回前1个结果,则可以更改方法
meshgrid
使用
User findByEmail(@Param("email") String email);