当前位置: 首页 > 知识库问答 >
问题:

尝试保存时发生Spring h2数据库错误

颜举
2023-03-14

守则

@Entity

public class TicketRequest {
    int id;
    Boolean checked;
    Map<Integer, int[]> num_lines;


    @Id  
    @GeneratedValue(strategy=GenerationType.AUTO) 
    @Column(name = "id")  
public int getId(){
    return id;
}

    @Column(name = "checked")  
public Boolean getChecked(){
    return checked;
}

    @ElementCollection
    @Column(name = "ticket_num")  
public Map<Integer, int[]> getTicketNum(){
    return num_lines;
}

public void setId(int id) {
    this.id = id;
}

public void setChecked(Boolean checked) {
    this.checked = checked;
}

public void setTicketNum(Map<Integer, int[]> num_lines){
    this.num_lines = num_lines;
}

@RestController的代码:

@RestController
public class LotteryController {

       private TicketRepository TicketRepository;

  @RequestMapping("/ticket")
  public TicketRequest CreateTicket(@RequestParam int line) {

      Map<Integer, int[]> lottery_lines = new HashMap<Integer,  int[]>();

      for(int i = 1; i<= line; i++) {
          int[] ints = new Random().ints(0, 3).distinct().limit(3).toArray();
          lottery_lines.put(i,  ints);

     // System.out.println("The Value are: " + Arrays.toString(lottery_lines.get(0)));
     } 

      TicketRequest response = new TicketRequest();
      response.setId(1);
      response.setChecked(false);
      response.setTicketNum(lottery_lines);


      TicketRepository.save(response);

    return response;

  }

}
public interface TicketRepository extends CrudRepository<TicketRequest, Integer>{

}

共有1个答案

佘茂才
2023-03-14

通过查看堆栈跟踪,错误与H2无关,您在控制器的第36行得到一个空指针。很遗憾,我从你的代码中分不出第36行。

仔细查看第36行,并尝试识别哪些内容可能为空。

我猜第36行是ticketRepository.save(response);。TicketRepository从不在代码中初始化。您可能只是在该字段中缺少了@autowire

 类似资料:
  • 问题内容: 启动Java应用程序时,尝试保存图像时出现异常。但是,在Eclipse中,一切正常。该应用程序是使用fatjar构建的,并且还选择了必需的库(jar_imageio.jar和ij.jar)进行导出。 我尝试使用ImageIO和ImageJ: a。)ImageIO: b。)ImageJ: 问题答案: 正如@Victor说的,我认为您应该看看 我昨天才遇到这个问题,这很棘手。有类似的问题在

  • 我正尝试使用“添加”按钮向数据库添加项目,但每当我尝试添加时,编译器就会显示“更新条目时出现错误。请参阅内部异常详细信息”。 这是我的添加按钮代码:

  • 社区向导, 我真的很沮丧。谈到Spark、Hadoop等人,似乎没有什么是直截了当的。 在过去的几个小时里,我试图找到以下问题的解决方案: 版本: 操作系统:Windows 10 火花版本:2.4.6 Scala版本:2.11.12 Hadoop版本:2.7.1 Java版本:1.80_202(64位) 变量: SPARK\u主页:C:\SPARK 路径: %SPARK_HOME%\bin %HA

  • 问题内容: 在Windows上安装了Docker,并额外安装了2个Oracle VM VirualBox和Kitematic。我在Windows 10 PC中禁用了Hyper-V。现在的问题是我无法从DockerHub下载任何Docker映像,甚至我都无法以如下方式运行命令 两端都显示以下错误。 尝试连接时发生错误:获取 http:// localhost:2375 / v1.21 / info

  • 为了快速地将数据插入到数据库中,我一直在尝试生成一个巨大的SQL(大约200个查询),但由于某种原因,我得到了SQL错误,但不确定是什么导致了它。 错误: SQL错误(1064):您的SQL语法有错误;查看与您的MySQL server版本相对应的手册,以了解在第8行附近使用的正确语法 下面是我的一部分代码: 你可以在Pastebin上找到我的完整SQL。 不知道是什么原因造成的,因为后面的“6”

  • 日志条目:10:25 运营:08:25