2008-11-21 9 views
1

Je cours le code suivant que des erreurs lorsque j'essaie de valider mes modifications en utilisant Cayenne comme mon ORM. Le code est collé ci-dessous et des erreurs sur la ligne context.commitChanges(); Les messages de sortie sont collés sous le code. Toute aide pour comprendre cela serait appréciée.erreur Cayenne null pointeur lors de la tentative de validation

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"); 
    } 
} 
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 

Répondre

Questions connexes