【发布时间】:2021-06-29 02:18:26
【问题描述】:
我有一个带有 PostgreSQL 的 Spring Boot 应用程序。该应用程序在本地主机上运行良好,所有数据都来自 PostgreSQL。我已成功将应用程序上传到 Heroku 并将数据库迁移到 Heroku PostgreSQL。问题是当我单击一些从 PostgreSQL 检索数据的链接时,会显示 白色错误页面。但在 localhost 上一切正常。
下面是链接到白色错误页面的控制器。
@Controller
public class MahubiriController {
@Autowired
private MisaleRepository misaleRepository;
@GetMapping("/masomo/somolaleo")
public String masomoAngalia(Model model){
model.addAttribute("masomoYote", misaleRepository.findAllOrderByDateDesc() );
return "masomo";
} }
下面是仓库
@Repository
@Transactional
public interface MisaleRepository extends JpaRepository <Misale, String> {
@Query(value ="SELECT * FROM misale ORDER BY date DESC" , nativeQuery = true)
public List<Misale> findAllOrderByDateDesc();
}
下面是特定对象的实体
@Entity
@Table(name = "misale")
public class Misale {
@Id
@Column(name ="date")
private String date;
@Lob
@Column(name ="first_reading", columnDefinition="text")
private String firstReading;
@Lob
@Column(name ="second_reading", columnDefinition="text")
private String secondReading;
// Constructors, getter and setters
}
以下是用于在 Postgresql 上创建特定表的查询
CREATE TABLE misale(date VARCHAR(20) NOT NULL PRIMARY KEY,
first_reading TEXT NOT NULL,
second_reading TEXT,gospel TEXT NOT NULL);
Heroku 上可能有什么问题导致白色错误页面而不是在本地主机上。
更新:
按照@krishnkant jaiswal 的建议实施异常处理后,我收到如下消息“无法访问 lob str…le to access lob stream”。
timestamp "2021-04-03T01:26:43.791+00:00"
message "Unable to access lob stream; nested exception is org.hibernate.HibernateException: Unable to access lob stream"
details "uri=/masomo/somolaleo"
【问题讨论】:
-
您必须处理异常并返回完整堆栈错误。否则很难调试。我已经看到发生了类似的错误,因为我试图将更大的数据存储在字符串中。(我的情况可能完全不同)。你可以参考这个:stackoverflow.com/a/66763315/13046620
-
同样@krishnkantjaiswal 我已经通过迁移存储了大数据,现在我想检索它们我收到白色错误消息。让我按照您的建议实现异常处理。
-
感谢@krishnkantjaiswal,在您建议的异常处理的帮助下,我最终解决了我的答案中发布的错误。
标签: spring spring-boot spring-mvc heroku heroku-postgres