我有一个带有 JBoss AS 7.1.1 的 EJB 3.0 客户端和服务器。我正在尝试将实体列表持久保存到我连接到的数据库中,但我不断收到此错误:
java.sql.SQLException: ORA-06576: not a valid function or procedure name
我SEQ_ID
在我的 Oracle 数据库中调用了一个序列生成器。我按照本教程进行了设置: http: //www.developerscrappad.com/408/java/java-ee/ejb3-jpa-3-ways-of-generating-primary-key-through-generatedvalue/
这是我在主键上使用上述教程中的注释的实体 bean:http: //pastebin.com/QJ6W5VLG
这是我保留实体列表的函数:
public void persistSchemas(List schemasList){
String strDelete = " DELETE FROM Schemas s ";
Query query = em.createQuery(strDelete);
query.executeUpdate();
for(Schemas schema : (List<Schemas>)schemasList){
em.persist(schema);
}
}
这是服务器上错误的完整堆栈跟踪:http: //pastebin.com/rmURYdRD
该错误仅在我尝试持久化实体并且它们具有@SequenceGenerator 和@GeneratedValue 两个注释时才出现。所以这肯定是序列发生的事情。这里有什么问题?