crudepository从数据库中引用列时出错

xoshrz7s  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(348)

我试图通过执行一个.findall()请求从crudepository中检索一个列表,然后将其传递到一个html中,该html将它们列在一个表中。它可以很好地检索数据,除了给我一个奇怪错误的日期。我正在使用postgresql。
我的创建表sql:

--Table:conference_table
CREATE TABLE conference_table (
conference_id SERIAL NOT NULL,
user_id INT NOT NULL,
name VARCHAR(32),
description VARCHAR(255),
startConference DATE,
endConference DATE,
PRIMARY KEY (conference_id),
FOREIGN KEY (user_id) REFERENCES user_table(user_id)
);

在my conference.java中,我有:

@Column(name = "startConference")
private Date startConference;

@Column(name = "endConference")
private Date endConference;

在控制器类中,我有以下方法:

@GetMapping(path="/configure")
public String showConfigurePage(Model model){
    List<Conference> conferenceList = conferenceRepository.findAll(); // This gives me the error
    model.addAttribute("conferenceList", conferenceList);
    return "configure";
}

错误:

org.postgresql.util.PSQLException: ERROR: column conference0_.end_conference does not exist
  Hint: Perhaps you meant to reference the column "conference0_.endconference".

你知道为什么会这样吗?我可以提供进一步的信息,如果我错过了任何。

omtl5h9j

omtl5h9j1#

您看到的是正确的行为:默认策略 @Column(name="endConference")end_conference .
您可以将下面的配置添加到 application.properties 跟随 PhysicalNamingStrategy :

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

查看此和此以了解更多信息。
参考文献:
所以回答
所以回答

相关问题