gpt4 book ai didi

java - Spring boot + Postgres + JPA + Heroku 不保存数据也不记录日志

转载 作者:行者123 更新时间:2023-12-02 12:07:54 24 4
gpt4 key购买 nike

我在 Heroku 上部署了一个非常简单的 Spring Boot 应用程序。应用程序本身在 Controller 方面运行良好 - API 返回一些简单的 JSON,没有什么特别的。

我已将 Postgres 数据库添加到 Heroku,并且在应用程序启动时,我看到 Spring 按预期创建了表。它只有一张表和一个 super 简单的映射类:

@Entity
public class Score implements Serializable {
private static final long serialVersionUID = -2899157432342241888L;

private String customer;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;

private Date date = new Date();

private int score;

//setters and getters

存储库只是一个没有显式实现的接口(interface):

@Repository
public interface ScoreRepository extends CrudRepository<Score, Long>

我在 @Service 注解的类中调用 repository.save(...) ,该类已自动连接存储库。我认为工作正常,因为我没有看到任何错误 - 但我没有看到任何记录被保存到数据库中!不知道这里可能出了什么问题;我想我可能设置了 Heroku 错误,或者也许我在 Heroku 中的 Postgres 设置中遗漏了一些明显的东西?

次要问题

也许相关,但日志记录似乎也不太有效。根据 Heroku 文档,我可以打印到标准输出,它应该出现在日志中,但这种情况不会发生。此外,我在属性文件中有这个:

spring.jpa.show-sql=true

但我在 heroku 日志中没有看到这样的 SQL 查询日志记录。

非常感谢任何帮助!提前致谢。

最佳答案

日志记录问题:当您启动应用程序时,您是否在控制台中看到任何错误(甚至在 spring Logo 之前的前几行),指出日志记录 jar (slf4j.jar) 的多个版本,如果是这样,您可能看不到日志。如果这是真的,请检查您的 Maven 依赖项并排除所有不必要的 slf4j.jar

并通过调试启动您的 Spring 应用程序。

java -jar myapp.jar --debug

持久性问题:确保在事务中运行它(在 Spring 上下文中)

解决日志问题后,我相信您可以解决这个问题,但是您可以调试您的代码并查看请求是否到达您的保存方法,然后您可以进入以查找是否存在任何问题,但我肯定会查看日志以查找错误(如果有)。

关于java - Spring boot + Postgres + JPA + Heroku 不保存数据也不记录日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com