Java 令牌端点中的NullPointerException

Java 令牌端点中的NullPointerException,java,spring,jpa,spring-data,jpql,Java,Spring,Jpa,Spring Data,Jpql,LE:我最初认为这与JPQL查询有关——请参见下面的内容 我正在与一个问题作斗争,我似乎找不到任何解决办法。我正在尝试在数据库中查找用户。搜索条件是用户名或电子邮件地址。用户可能没有用户名,因此我总是在我的crudepository中得到NullPointerException。我尝试了JPQL和本机查询,但得到的结果总是一样的 我可以在MySQL Workbench中成功运行本机查询—在Java中,它会抛出一个异常 以下是使用本机查询时的存储库: @Query(value = "se

LE:我最初认为这与JPQL查询有关——请参见下面的内容

我正在与一个问题作斗争,我似乎找不到任何解决办法。我正在尝试在数据库中查找用户。搜索条件是用户名或电子邮件地址。用户可能没有用户名,因此我总是在我的
crudepository
中得到
NullPointerException
。我尝试了JPQL和本机查询,但得到的结果总是一样的

我可以在MySQL Workbench中成功运行本机查询—在Java中,它会抛出一个异常

以下是使用本机查询时的存储库:

@Query(value = "select * from users u where " +
        "(u.username is not null and u.username = :queryString) or " +
        "(u.email_address is not null and u.email_address = :queryString)",
        nativeQuery = true)
Optional<User> findByEmailAddressOrUsername(@Param("queryString") String queryString);
@Query(value=“select*from users u where”+
“(u.username不为null且u.username=:queryString)或”+
“(u.email_地址不为空,u.email_地址=:queryString)”,
nativeQuery=true)
可选findByEmailAddressOrUsername(@Param(“queryString”)字符串queryString);
对于JPQL:

@Query("select u from user u where " +
        "(u.emailAddress is not null and u.emailAddress = ?1) or " +
        "(u.username is not null and u.username = ?1)")
Optional<User> findByEmailAddressOrUsername(String queryString);
@Query(“从用户u中选择u,其中”+
“(u.emailAddress不为空且u.emailAddress=?1)或”+
“(u.username不为空,u.username=?1)”)
可选findByEmailAddressOrUsername(字符串查询字符串);
有什么建议吗


非常感谢。

嗯,看来我终于找到了问题所在。这比我想象的要微妙得多。它和JPQL或SQL查询无关,它们非常好。问题实际上是在我的自定义
令牌增强程序中,我在那里检查了我的
用户详细信息。由于
getUsername()
返回null(因为一些用户没有用户名),这将触发我前面提到的
NullPointerException

您应该将异常堆栈跟踪附加到您的问题