не удалось извлечь ResultSet при вставке записи в базу данных с помощью Spring Boot - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь сделать простую вставку в свою базу данных с помощью Spring boot.Когда я запускаю свою программу, я получаю сообщение об ошибке «Не удалось извлечь ResultSet».Но я не хочу ничего извлекать, я просто вставляю.

Это код моей модели:

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(), и в моей базе данных я установил идентификатор для автоматического увеличения.Кто-нибудь знает, что пошло не так?

Спасибо, ребята, мне удалось решить проблему, добавив @GeneratedValue (стратегии = GenerationType.IDENTITY)

Ответы [ 3 ]

0 голосов
/ 21 сентября 2018

@JoinColumn используется для указания отношения и права собственности на отношения.Я думаю, что вам нужно это @Column аннотация.Поэтому замените все @JoinColumn на @Column, чтобы решить эту проблему.

Чтобы увидеть, что @JoinColumn делает, пожалуйста см.

0 голосов
/ 21 сентября 2018

Использование @JoinColumn вместо @Column - это первая проблема, которую каждый может увидеть с небес.Пожалуйста, измените его на @Column, как предлагают документы Hibernate.Установка @JoinColumn не отображает ваше поле в базу данных в любой ситуации.Кроме того, «не удалось извлечь ResultSet» не помогает вообще, вы должны были опубликовать свою трассировку стека вместо нескольких слов.

0 голосов
/ 21 сентября 2018

Попробуйте изменить аннотации над полями на @ Column.

...