Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试提交更改时出现Cayenne null指针错误_Java_Orm_Apache Cayenne - Fatal编程技术网

Java 尝试提交更改时出现Cayenne null指针错误

Java 尝试提交更改时出现Cayenne null指针错误,java,orm,apache-cayenne,Java,Orm,Apache Cayenne,我正在运行以下代码,在尝试使用Cayenne作为ORM提交更改时出错。代码粘贴在下面,并在context.commitChanges()上显示错误;线路。输出消息粘贴在代码下面。如果您能帮我解决这个问题,我们将不胜感激 import org.apache.cayenne.access.DataContext; import java.util.*; import com.jared.*; public class Main { public static void main(Stri

我正在运行以下代码,在尝试使用Cayenne作为ORM提交更改时出错。代码粘贴在下面,并在context.commitChanges()上显示错误;线路。输出消息粘贴在代码下面。如果您能帮我解决这个问题,我们将不胜感激

import org.apache.cayenne.access.DataContext; import java.util.*; import com.jared.*; public class Main { public static void main(String[] args) { DataContext context = DataContext.createDataContext(); Stocks theStock=(Stocks) context.createAndRegisterNewObject(Stocks.class); theStock.setAsk(3.4); theStock.setAvgdailyvolume(323849); theStock .setBid(5.29); theStock.setChange(-1.22); theStock.setDayhigh(9.21); theStock.setDaylow(2.11); theStock.setLasttradeprice(5.11); theStock.setLasttradesize(3827); theStock.setOpen(6.21); theStock.setPriorclose(4.21); theStock.setShortratio(1.1); theStock.setSymbol("^SP%"); theStock.setVolume(28193); theStock.setLasttradedate(new Date()); context.commitChanges(); System.out.println("Done with the database"); } } 导入org.apache.cayenne.access.DataContext; 导入java.util.*; 导入com.jared.*; 公共班机{ 公共静态void main(字符串[]args){ DataContext=DataContext.createDataContext(); Stocks theStock=(Stocks)context.createAndRegisterNewObject(Stocks.class); 库存设置任务(3.4); setAvgdailyvolume存货(323849); 立根节(5.29); 库存设置变化(-1.22); 股票设定日高(9.21); 股市下跌(2.11); 存货设定最新交易价格(5.11); 存货设置最后交易规模(3827); 库存设置打开(6.21); 股票价格下跌(4.21); 库存设置水平(1.1); 库存设置符号(“^SP%”); 库存量(28193); setLasttradedate(new Date()); context.commitChanges(); System.out.println(“使用数据库完成”); } } 2008年11月20日晚上11:20:37 org.apache.cayenne.conf.RuntimeLoadDelegate开始加载 信息:已开始配置加载。 2008年11月20日11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate shouldLoadDataDomain 信息:加载域:股票 2008年11月20日晚上11:20:37 org.apache.cayenne.conf.RuntimeLoadDelegate loadDataMap 信息:已加载。 2008年11月20日晚上11:20:37 org.apache.cayenne.conf.RuntimeLoadDelegate应加载数据节点 信息:正在加载。 2008年11月20日晚上11:20:37 org.apache.cayenne.conf.RuntimeLoadDelegate应加载数据节点 信息:使用工厂:org.apache.cayenne.conf.DriverDataSourceFactory 2008年11月20日11:20:37 PM org.apache.cayenne.conf.DriverDataSourceFactory load 信息:正在从“stocksNode.driver.xml”加载驱动程序信息。 2008年11月20日11:20:37 PM org.apache.cayenne.conf.DriverDataSourceFactory$DriverHandler init 信息:正在加载驱动程序org.hsqldb.jdbcDriver 2008年11月20日11:20:37 PM org.apache.cayenne.conf.DriverDataSourceFactory$LoginHandler init 信息:正在加载用户名和密码。 2008年11月20日11:20:37 PM org.apache.cayenne.access.QueryLogPoolCreated 信息:创建的连接池:jdbc:hsqldb:file:/hsqldb/data/stocks 驱动程序类:org.hsqldb.jdbcDriver 池中的最小连接数:1 池中的最大连接数:1 2008年11月20日晚上11:20:37 org.apache.cayenne.conf.RuntimeLoadDelegate应加载数据节点 信息:加载的数据源。 2008年11月20日晚上11:20:37 org.apache.cayenne.conf.RuntimeLoadDelegate initAdapter 信息:未设置适配器,使用自动适配器。 2008年11月20日11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate完成加载 信息:在203毫秒内完成配置加载。 线程“main”org.apache.cayenne.CayenneRuntimeException中的异常:[v.3.0M4 May 18 2008 16:32:02]提交异常 位于org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1192) 位于org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1066) 在Main.Main(Main.java:24) 原因:java.lang.NullPointerException 位于org.apache.cayenne.access.DataDomainInsertBucket.createPermIds(DataDomainInsertBucket.java:101) 位于org.apache.cayenne.access.DataDomainInsertBucket.appendQueriesInternal(DataDomainInsertBucket.java:76) 位于org.apache.cayenne.access.DataDomainSyncBucket.appendQueries(DataDomainSyncBucket.java:80) 位于org.apache.cayenne.access.DataDomainFlusAction.preprocess(dataDomainFlusAction.java:183) 位于org.apache.cayenne.access.DataDomainFlusAction.flush(dataDomainFlusAction.java:135) 位于org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:821) 位于org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:788) 位于org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:847) 位于org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:785) 位于org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1164) ... 还有两个 用户名,密码

ClientConnection=new Hessian连接(“, “cayenne用户”、“机密”,
无效)

Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate startedLoading INFO: started configuration loading. Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate shouldLoadDataDomain INFO: loaded domain: stocks Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate loadDataMap INFO: loaded . Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate shouldLoadDataNode INFO: loading . Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate shouldLoadDataNode INFO: using factory: org.apache.cayenne.conf.DriverDataSourceFactory Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.DriverDataSourceFactory load INFO: loading driver information from 'stocksNode.driver.xml'. Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.DriverDataSourceFactory$DriverHandler init INFO: loading driver org.hsqldb.jdbcDriver Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.DriverDataSourceFactory$LoginHandler init INFO: loading user name and password. Nov 20, 2008 11:20:37 PM org.apache.cayenne.access.QueryLogger logPoolCreated INFO: Created connection pool: jdbc:hsqldb:file:/hsqldb/data/stocks Driver class: org.hsqldb.jdbcDriver Min. connections in the pool: 1 Max. connections in the pool: 1 Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate shouldLoadDataNode INFO: loaded datasource. Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate initAdapter INFO: no adapter set, using automatic adapter. Nov 20, 2008 11:20:37 PM org.apache.cayenne.conf.RuntimeLoadDelegate finishedLoading INFO: finished configuration loading in 203 ms. Exception in thread "main" org.apache.cayenne.CayenneRuntimeException: [v.3.0M4 May 18 2008 16:32:02] Commit Exception at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1192) at org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1066) at Main.main(Main.java:24) Caused by: java.lang.NullPointerException at org.apache.cayenne.access.DataDomainInsertBucket.createPermIds(DataDomainInsertBucket.java:101) at org.apache.cayenne.access.DataDomainInsertBucket.appendQueriesInternal(DataDomainInsertBucket.java:76) at org.apache.cayenne.access.DataDomainSyncBucket.appendQueries(DataDomainSyncBucket.java:80) at org.apache.cayenne.access.DataDomainFlushAction.preprocess(DataDomainFlushAction.java:183) at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:135) at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:821) at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:788) at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:847) at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:785) at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1164) ... 2 more