Отображение hibernate - ошибка при запуске конфигурации hibernate
Я пытаюсь запустить конфигурацию Hibernate из Eclipse и создать из нее структуру БД. При запуске конфигурации я получаю следующее исключение:
java.sql.SQLException: ORA-00942: table or view does not exist
java.sql.SQLException: ORA-00904: : invalid identifier errors.
Я использовал аннотации для создания hbm/pojo. Ниже приведен код. Я не уверен, что что-то упустил. Любая помощь?
Конфигурация: Eclipse Kepler SR2 Hibernate Core 4+ Oracle 10g JDK 8 для Eclipse
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
public class RuleQuestion {
//ATTRIBUTES
@Id
@GeneratedValue(strategy =GenerationType.AUTO)
private Long id;
//QUestion NAME On JSP
private String jspQuestion;
//LEVEL of Question in RULE DATA MODEL
private int level;
//IF QUESTION has CHILD questions associated with it
private boolean hasChildren;
//IS MULTISELECT
private boolean isMultiselect;
//POSSIBLE ANSWERS FOR QUESTION
/*@OneToMany(cascade = CascadeType.ALL, mappedBy = "question")
private List<RuleAnswer> possibleAnswers =new ArrayList<RuleAnswer>(0);
*///ANSWER for Question
private String answer;
//DEFEAULT ANSWER
private String defaultAnswer;
/*//ASSOCIATED CHILDREN QUESTIONS
private List<RuleQuestion> associatedQuestions;*/
//Visibility
private String visibility;
public RuleQuestion()
{
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getJspQuestion() {
return jspQuestion;
}
public void setJspQuestion(String jspQuestion) {
this.jspQuestion = jspQuestion;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public boolean isHasChildren() {
return hasChildren;
}
public void setHasChildren(boolean hasChildren) {
this.hasChildren = hasChildren;
}
public boolean isMultiselect() {
return isMultiselect;
}
public void setMultiselect(boolean isMultiselect) {
this.isMultiselect = isMultiselect;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public String getDefaultAnswer() {
return defaultAnswer;
}
public void setDefaultAnswer(String defaultAnswer) {
this.defaultAnswer = defaultAnswer;
}
public String getVisibility() {
return visibility;
}
public void setVisibility(String visibility) {
this.visibility = visibility;
}
}
1 ответ
Добавьте строку ниже после @Entity.
@Table(name="RuleQuestion")
Аннотация @Table позволяет вам указать детали таблицы, которая будет использоваться для сохранения сущности в базе данных.
Аннотация @Table предоставляет четыре атрибута, позволяющих переопределить имя таблицы, ее каталог и схему, а также применять уникальные ограничения для столбцов в таблице. На данный момент мы используем только имя таблицы, которая является СОТРУДНИКОМ.
Также добавьте
@Id
@GeneratedValue
@Column(name = "ID")
private Integer id;
У меня есть класс, который генерирует таблицу
@Entity
@Table(name = "TRANSACTION")
public class Transaction {
@Id
@GeneratedValue
@Column(name = "ID")
private Integer id;
@Column(name="OCPP_START_TAG_ID",nullable=false)
private String ocppStartTagId;
}