【问题标题】:could not extract ResultSet when inserting record into database using Spring Boot使用 Spring Boot 将记录插入数据库时​​无法提取 ResultSet
【发布时间】:2018-09-21 07:10:43
【问题描述】:

我正在尝试使用 Spring Boot 向我的数据库中进行简单的插入。当我运行我的程序时,我收到错误“无法提取结果集”。但我并不是要提取任何东西,我只是纯粹地插入。

这是我的模型代码:

import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Table;

@Entity(name = "calendar")
@Table(name = "TB_EVENT")
public class Calendar {

@Id
@GeneratedValue
@JoinColumn(name = "EventID")
private int eventId;

@JoinColumn(name = "Privacy")
private String privacy;

@JoinColumn(name = "EventCode")
private String eventCode;

@JoinColumn(name = "Subject")
private String subject;

@JoinColumn(name = "Location")
private String location;

我的服务实现类:

@Override
public void add(Calendar calendar) {
    // TODO Auto-generated method stub
    logger.info("invoked insertevent function in calendarServiceImpl");

    logger.info(calendar.getPrivacy());
    logger.info(calendar.getAllDay());
    logger.info(calendar.getEventCode());
    logger.info(calendar.getSubject());
    logger.info(calendar.getReminder());
    logger.info(calendar.getLocation());
    logger.info(calendar.getStartTime());
    logger.info(calendar.getEndTime());
    logger.info(calendar.getRecur());
    logger.info(calendar.getRemarks());


    calendarRepository.save(calendar);


}

我正在使用.save(),并且在我的数据库中我已将 id 设置为自动增量。有人知道出了什么问题吗?

谢谢大家,我设法通过添加 @GeneratedValue(strategy = GenerationType.IDENTITY) 解决了这个问题

【问题讨论】:

  • joincolumn 用于关联。改用列注释
  • 我们可以看到堆栈跟踪

标签: java spring insert resultset


【解决方案1】:

尝试将字段上方的注释更改为@Column。

【讨论】:

  • 嗨,我尝试更改它,但它仍然给我同样的错误。
  • 如果可以,请发布堆栈跟踪 ss。
【解决方案2】:

@JoinColumn用于表示关系和关系的所有权。我想你需要的是 @Column 注释。 因此,将所有@JoinColumn 替换为@Column 即可解决问题。

要查看@JoinColumn 做了什么,请refer

【讨论】:

  • 试过了,但仍然遇到同样的错误。我不认为这是造成问题的原因。
  • 请发布整个堆栈跟踪并考虑删除架构并再次创建它并运行应用程序。因为如果不是,则根据您的表创建策略可能不会应用更改。
【解决方案3】:

使用@JoinColumn 代替@Column 是任何人都可以从高处看到的第一个问题。请按照 Hibernate 文档的建议将其更改为 @Column。在任何情况下,放置 @JoinColumn 都不会将您的字段映射到数据库。 此外,“无法提取 ResultSet”根本没有帮助,您应该发布您的堆栈跟踪,而不是只发布几句话。

【讨论】:

    猜你喜欢
    • 2016-07-27
    • 2018-09-24
    • 1970-01-01
    • 2017-09-22
    • 2013-08-25
    • 2022-11-20
    • 2021-03-11
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多