#java #mysql #hibernate
#java #mysql #спящий режим
Вопрос:
У меня есть объект, и я создал его с помощью мастера обратного проектирования Hibernate и файлов отображения Hibernate и POJOs из базы данных.
В этом случае в моей таблице есть поле времени sql (reminder_time), но hibernate сгенерировал поле как java.util.Поле даты .
Это моя таблица,
Указанное поле является reminder_time .
Это мой объект,
import java.util.Date;
public class Reminder implements java.io.Serializable {
private Integer idreminder;
private Patient patient;
private String remindAbout;
private Date reminderTime;
private Date reminderDate;
private boolean active;
private boolean repeat;
private Date dateCreated;
private Date lastUpdated;
public Reminder() {
}
public Reminder(Patient patient, String remindAbout, Date reminderTime, Date reminderDate, boolean active, boolean repeat, Date lastUpdated) {
this.patient = patient;
this.remindAbout = remindAbout;
this.reminderTime = reminderTime;
this.reminderDate = reminderDate;
this.active = active;
this.repeat = repeat;
this.lastUpdated = lastUpdated;
}
public Reminder(Patient patient, String remindAbout, Date reminderTime, Date reminderDate, boolean active, boolean repeat, Date dateCreated, Date lastUpdated) {
this.patient = patient;
this.remindAbout = remindAbout;
this.reminderTime = reminderTime;
this.reminderDate = reminderDate;
this.active = active;
this.repeat = repeat;
this.dateCreated = dateCreated;
this.lastUpdated = lastUpdated;
}
public Integer getIdreminder() {
return this.idreminder;
}
public void setIdreminder(Integer idreminder) {
this.idreminder = idreminder;
}
public Patient getPatient() {
return this.patient;
}
public void setPatient(Patient patient) {
this.patient = patient;
}
public String getRemindAbout() {
return this.remindAbout;
}
public void setRemindAbout(String remindAbout) {
this.remindAbout = remindAbout;
}
public Date getReminderTime() {
return this.reminderTime;
}
public void setReminderTime(Date reminderTime) {
this.reminderTime = reminderTime;
}
public Date getReminderDate() {
return this.reminderDate;
}
public void setReminderDate(Date reminderDate) {
this.reminderDate = reminderDate;
}
public boolean isActive() {
return this.active;
}
public void setActive(boolean active) {
this.active = active;
}
public boolean isRepeat() {
return this.repeat;
}
public void setRepeat(boolean repeat) {
this.repeat = repeat;
}
public Date getDateCreated() {
return this.dateCreated;
}
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}
public Date getLastUpdated() {
return this.lastUpdated;
}
public void setLastUpdated(Date lastUpdated) {
this.lastUpdated = lastUpdated;
}
}
Когда я попытался сохранить некоторые данные в этой таблице, используя вышеуказанный объект, я получил следующее исключение,
Oct 06, 2016 4:40:06 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'repeat, date_created, last_updated) values (3, 'Taking medicine', '15:30:18', '2' at line 1
org.hibernate.exception.SQLGrammarException: could not execute statement
Есть какие-либо идеи по этому поводу?
Комментарии:
1. Ваш заголовок не имеет никакого отношения к вопросу, пожалуйста, исправьте это.
Ответ №1:
repeat
это зарезервированное ключевое слово в MySQL, и его необходимо экранировать обратными метками или использовать другое имя столбца.
Комментарии:
1. Вы имеете в виду изменить имя столбца таблицы базы данных самостоятельно?
2. Я имею в виду выбрать другое имя, чем
repeat
.