我正在尝试使用EclipseLink创建一个表。正在使用的java类是:-
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Id;
@Entity
public class Submissions {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long Id;
private String XID;
private String Y;
@Temporal(TemporalType.DATE)
private Date uDate;
private String level;
private String state;
public Submissions() {
}
//All Relevant getter and setter functions
}
<persistence-unit name="SubmissionIds">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.obp.selenium.DataObjects.OriginationSubmissions</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="javax.persistence.jdbc.user" value="------" />
<property name="javax.persistence.jdbc.password" value="------" />
<!-- EclipseLink should create the database schema automatically -->
<property name="eclipselink.ddl-generation" value="create-tables" />
<property name="eclipselink.ddl-generation.output-mode"
value="database" />
<!-- <property name="eclipselink.canonicalmodel.subpackage"
value="originationSubmissions" /> -->
</properties>
</persistence-unit>
EntityManagerFactory factory = Persistence.createEntityManagerFactory("SubmissionIds");
EntityManager em = factory.createEntityManager();
em.getTransaction().begin();
em.getTransaction().commit();
em.close();
EL警告]:2017-04-07 14:04:53.768--ServerSession(1650327539)--异常[EclipseLink-4002](Eclipse持久性服务-2.6.3.v20160428-59C81C5):org.Eclipse.Persistence.exceptions.DatabaseException内部异常:java.sql.sqlsyntaxerrorexception:ora-00904::无效标识符
错误代码:904调用:CREATE TABLE SUBMISSIONS(ID NUMBER(19)NOT NULL,XID VARCHAR2(255)NULL,YVarchar2(255)NULL,LEVEL VARCHAR2(255)NULL,STATE VARCHAR2(255)NULL,UDATE DATE NULL,PRIMARY KEY(ID))查询:DataModifyQuery(sql=“CREATE TABLE SUBMISSIONS(ID NUMBER(19)NOT NULL,XID VARCHAR2(255)NULL,YVarchar2(255)NULL,LEVEL VARCHAR2(255)NULL,LEVEL
实际上,Eclipse报告了一个bug,当使用保留词时会出现这个bug,您可以在这里进行处理:
https://bugs.Eclipse.org/bugs/show_bug.cgi?id=260637。
问题来自于使用一个保留词我实际上不知道您的DBMS,如果它是Mysql,您的属性XID和LEVEL是一个保留词。您可以在这里找到mysql保留字:https://dev.mysql.com/doc/refman/5.7/en/keywords.html。
您还可以从用于构建表的sql代码中发现有一个类型为DATE的列名更新
UDATE日期为空
所以依我之见,你也需要注意你在uDate上的名字
person.java PersonRepository.java PersonService.java PersonController.java MyWebInitializer.java WebConfig.java rootconfig.java Build.Gradle 构建此项目时没有错误,但当我尝试运行此应用程序时,控制台显示错误: 错误org.springframework.web
我正在用MySQL数据库构建一个django应用程序。当我第一次运行“Python Manage.py Migrate”时,一些表创建得很好,然后出现一些错误。引出的错误是: 完整的回溯是:
问题内容: 我在Docker容器中有一个MySQL数据库。入口点执行创建数据库的脚本和创建表的脚本。 除了一张桌子,其他所有东西都工作正常。 记录到控制台的错误是 第150行是后面的开括号 MySQL版本:8.0.3-rc-log 主机操作系统:Debian jessie 我开始考虑并且可能是保留关键字,因此我重命名了表和列,但错误仍然存在。 问题答案: @Bill Karwin在第一条评论中
我想创建一个在MySQL中拥有自己数据库所有权限的用户。 当我使用这个用户创建一个表时,MySQL返回SQL server正在使用只读选项运行。 但是,当我改变到另一个现有用户的所有权限上,我可以创建表没有错误。 我想知道只读选项是全局的还是什么? 以下是我使用MySQL root的MySQL命令: 然后我切换到用户"demo": 所以我检查了只读选项,它似乎是打开的。 然而,我尝试使用另一个用户
我希望在一个简单的Java Swing应用程序中结合EclipseLink(2.4.0)和SQLite3.7.2使用JPA2.0。 我遇到的第一件事是,EclipseLink不支持SQLite。以下是输出: [EL Info]:2012-09-18 18:05:42.246--ServerSession(31125695)--Eclipselink,版本:Eclipse Persistence S
我的logcat消息: (1)near“INTEGER”:CREATE_SQL android.database.sqlite.sqliteexception中的语法错误异常:编译时:create BOMUL_PLACE(_id INTEGER NOT NULL主键auticrement,NAME TEXT,LAT DOUBLE,LNG DOUBLE,CHECK INTEGER DEFAULT 0