我正在尝试将输出和错误消息打印到控制台.但有时输出的顺序会改变,首先它会输出错误信息,然后打印出简单的信息,任何人都可以帮助我理解为什么会这样发生?输出序列大部分时间都在变化.打印输出没有一致性.我正在使用eclipse IDE,我得到的输出如下.
我试图打印以下代码,
System.out.println("simple message");
System.err.println("error message");
Run Code Online (Sandbox Code Playgroud)
预期的结果是这样的:
简单的消息
错误信息
但实际结果如下:
错误信息
简单的消息
我有一个简单的查询如下.如果我硬编码id值如下,我得到预期的结果.但是如果我试图从Param获取值,它会抛出IllegalArgumentException异常.请注意,我已经尝试将Param用作long和String,但结果仍然相同.请告诉我我做错了什么.谢谢.
我的查询
public interface FeedDetailRepository extends JpaRepository<FeedDetail, Long> {
@Query("select fd.message from FeedDetail as fd where fd.feedId =: id")
String custom(@Param("id") long id);
}
Run Code Online (Sandbox Code Playgroud)
在Controller,如果我运行以下命令,我会得到一个例外.
@GetMapping("/something/{id}")
public String getDetail(@PathVariable long id){
return feedDetailRepository.custom(id);
}
Run Code Online (Sandbox Code Playgroud)
但如果我硬编码id值如下,我得到想要的结果.
public interface FeedDetailRepository extends JpaRepository<FeedDetail, Long> {
@Query("select fd.message from FeedDetail as fd where fd.feedId = 4")
String getDetailBasedOnFeedId(@Param("id") long id);
}
Run Code Online (Sandbox Code Playgroud)
例外
嵌套异常是java.lang.IllegalArgumentException:org.hibernate.QueryException:未绑定的命名参数:id