Java hibernate映射-运行hibernate配置时出错
我正在尝试从eclipse运行Hibernate配置,并用它创建DB结构。在运行配置时,我遇到以下异常:Java hibernate映射-运行hibernate配置时出错,java,oracle,hibernate,annotations,hbm2ddl,Java,Oracle,Hibernate,Annotations,Hbm2ddl,我正在尝试从eclipse运行Hibernate配置,并用它创建DB结构。在运行配置时,我遇到以下异常: java.sql.SQLException: ORA-00942: table or view does not exist java.sql.SQLException: ORA-00904: : invalid identifier errors. 我使用注释来创建hbm/pojo。 下面是代码。我不确定我是否遗漏了什么。有什么帮助吗 配置: 日食开普勒SR2 休眠核心4+ 甲骨文10
java.sql.SQLException: ORA-00942: table or view does not exist
java.sql.SQLException: ORA-00904: : invalid identifier errors.
我使用注释来创建hbm/pojo。
下面是代码。我不确定我是否遗漏了什么。有什么帮助吗
配置:
日食开普勒SR2
休眠核心4+
甲骨文10g
用于Eclipse的JDK 8
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;
}
import javax.persistence.CascadeType;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.GeneratedValue;
导入javax.persistence.GenerationType;
导入javax.persistence.Id;
导入javax.persistence.JoinTable;
导入javax.persistence.ManyToMany;
导入javax.persistence.JoinColumn;
导入javax.persistence.OneToMany;
导入javax.persistence.Table;
@实体
公共类规则问题{
//属性
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
私人长id;
//JSP上的问题名称
私有字符串jspQuestion;
//规则数据模型中的问题层次
私有整数级;
//如果问题有与之关联的子问题
私生子;
//是多选的吗
私有布尔选择;
//问题的可能答案
/*@OneToMany(cascade=CascadeType.ALL,mappedBy=“问题”)
private List possibleAnswers=new ArrayList(0);
*///问题的答案
私有字符串应答;
//否定答案
私有字符串缺省应答;
/*//相关儿童问题
私人名单相关问题*/
//可见度
私有字符串可见性;
公共规则问题()
{
}
公共长getId(){
返回id;
}
公共无效集合id(长id){
this.id=id;
}
公共字符串getJspQuestion(){
返回jspQuestion;
}
公共无效设置jspQuestion(字符串jspQuestion){
this.jspQuestion=jspQuestion;
}
public int getLevel(){
回报水平;
}
公共void设置级别(int级别){
这个水平=水平;
}
公共布尔值isHasChildren(){
返回有子女;
}
public void setHasChildren(布尔hasChildren){
this.hasChildren=hasChildren;
}
公共布尔值isMultiselect(){
返回isMultiselect;
}
public void setMultiselect(布尔值isMultiselect){
this.isMultiselect=isMultiselect;
}
公共字符串getAnswer(){
返回答案;
}
公共无效设置应答(字符串应答){
这个答案=答案;
}
公共字符串getDefaultAnswer(){
返回默认答案;
}
public void setDefaultAnswer(字符串defaultAnswer){
this.defaultAnswer=defaultAnswer;
}
公共字符串getVisibility(){
返回能见度;
}
公共void集合可见性(字符串可见性){
这个.可见性=可见性;
}
}在@Entity之后添加下一行
@Table(name="RuleQuestion")
@Table注释允许您指定将用于在数据库中持久化实体的表的详细信息
@Table注释提供了四个属性,允许您覆盖表的名称、目录和模式,并对表中的列实施唯一约束。现在我们只使用表名EMPLOYEE
同时添加
@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;
}
嘿,Mahesh,我以前试过,但它对相同的错误没有帮助。@Column(name=“ID”)在上面的私有长ID中也有可能未命中hibernate中的
hbm2ddl.auto=update
hibernate属性configuration@orid我无法在hbm配置中设置此属性。我用update更新它。不行,嗨,我解决了。1) 我用关键字值更改了列名。(例如level)2)对于模式中的所有类,我将它们标记为可序列化。(实现可序列化)