1
我創建了一個簡單的JAVA應用程序來學習數據庫連接。JPA createEntityManager導致Oracle 955錯誤
我在Oracle 11g數據庫中有USR_BOOKS表。使用EclipseLink(JPA 2.0)持久性庫。
使用「從數據庫創建實體」,我創建了一個Java類,並創建了JPA Controller類。
似乎一切工作只是罰款我總是
[EL Warning]: 2012-10-30 16:50:31.957--ServerSession(1278203495)--Exception
[EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object
Error Code: 955
Call: CREATE TABLE USR_BOOKS (ID NUMBER(19) NOT NULL, NAZOV VARCHAR2(255) NULL, PRIMARY KEY (ID))
Query: DataModifyQuery(sql="CREATE TABLE USR_BOOKS (ID NUMBER(19) NOT NULL, NAZOV VARCHAR2(255) NULL, PRIMARY KEY (ID))")
我不是要求任何地方的CREATE TABLE查詢,但直到我打電話功能
EntityManager em = emf.createEntityManager();
錯誤是不存在 它看起來像函數createEntityManager()創建SQL語句並將其發送到數據庫中。
我試過從數據庫中刪除表。然後程序在數據庫中創建USR_BOOKS表 - 同樣,我不會意外地調用任何可能導致它的函數。
這基本上是我的代碼:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("JavaOracleDBPU2");
EntityManager em = emf.createEntityManager();
UsrBooksJpaController booksController = new UsrBooksJpaController(emf);
List<UsrBooks> usrBooksAll = booksController.findUsrBooksEntities();
System.out.println(usrBooksAll);
代碼工作,從表中甚至打印數據,剛開錯誤