> <mailto:
christopher.delahunt@xxxxxxxxxx>> wrote:
>
> Hello Michael,
>
> The "eclipselink.flush" property is a query hint. You will need to
> use "eclipselink.persistence-context.flush-mode" to set the property
> in persistence.xml.
>
>
> Best Regards
> Chris
>
> Michael Simons wrote:
>
> Hello James,
>
> The eclipselink.flush option does not work like expected.
> In the persistence.xml, I specified:
> <property name="eclipselink.flush" value="Commit" />
> But this seems to be ignored, because I get the following
> exception, on a query before anything
> was committed:
>
> SCHWERWIEGEND: Exception [EclipseLink-4002] (Eclipse Persistence
> Services -
> 1.2.0.v20091016-r5565):
> org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data
> truncation: Column set to default
> value; NULL supplied to NOT NULL column 'tour_id' at row 1
> Error Code: 0
> Call: UPDATE tour_position SET tour_id = ?, jdo_version = ?
> WHERE ((tour_position_id = ?) AND
> (jdo_version = ?))
> bind => [null, 7, 96117, 6]
> Query: UpdateObjectQuery(net.uniopt.domain.ot.OrderStop@17775)
> javax.persistence.PersistenceException: Exception
> [EclipseLink-4002] (Eclipse Persistence
> Services - 1.2.0.v20091016-r5565):
> org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data
> truncation: Column set to default
> value; NULL supplied to NOT NULL column 'tour_id' at row 1
> Error Code: 0
> Call: UPDATE tour_position SET tour_id = ?, jdo_version = ?
> WHERE ((tour_position_id = ?) AND
> (jdo_version = ?))
> bind => [null, 7, 96117, 6]
> Query: UpdateObjectQuery(net.uniopt.domain.ot.OrderStop@17775)
> at
> org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:612)
> at
> org.eclipse.persistence.internal.jpa.EJBQueryImpl.performPreQueryFlush(EJBQueryImpl.java:1153)
> at
> org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:371)
> at
> org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:636)
> at
> de.optitool.biz.tp.StockManager.queryFirstAndRecentDetection(StockManager.java:786)
> at
> de.optitool.biz.tp.StockManager.retrieveRemainingContingentStock(StockManager.java:359)
> at
> de.optitool.biz.tp.StockManager.tell(StockManager.java:344)
> at
> de.optitool.biz.tp.ReservationManager.bookOnAbstractCont(ReservationManager.java:1064)
> at
> de.optitool.biz.tp.ReservationManager.bookOnCheapestProduct(ReservationManager.java:1318)
> at
> de.optitool.biz.tp.ReservationManager.reserveStocks(ReservationManager.java:542)
> at
> de.optitool.biz.tp.ReservationManager.reserveStocks(ReservationManager.java:466)
> at
> de.optitool.biz.tp.ResAllocController.processTour(ResAllocController.java:217)
> at
> de.optitool.biz.tp.ResAllocController.runTask(ResAllocController.java:141)
> at
> de.optitool.biz.tp.ResAllocController.runOnEntities(ResAllocController.java:78)
> at
> de.optitool.biz.tp.TourModificationManager.runControllers(TourModificationManager.java:595)
> at
> net.uniopt.ot.action.UnplanOrders.runOnEntities(UnplanOrders.java:70)
> at
> de.optitool.action.UserRestrictedAction.run(UserRestrictedAction.java:134)
> at net.uniopt.ot.action.TaskAction.run(TaskAction.java:124)
> at
> org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
> at
> org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
> at
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
> at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
> at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
> at
> org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at net.uniopt.ot.gui.MainWindow.open(MainWindow.java:566)
> at
> net.uniopt.app.Application.processEventLoop(Application.java:514)
> at net.uniopt.app.Application.run(Application.java:214)
> at net.uniopt.ot.Main.main(Main.java:49)
>
> Any hints what might be wrong here are appreciated.
>
> - Michael
>
> James Sutherland schrieb:
>
>
> Do you want to ignore the cache, or not do the flush?
>
> To disable flushing, you can either set the EntityManager
> flushMode, or
> persistence unit property or use the query hint,
>
> "eclipselink.flush"="Commit"
>
> This will prevent to auto flush.
>
> If you truly wish to ignore the cache, and build "detached"
> objects directly
> from the database, you can use,
>
> "eclipselink.maintain-cache"="false"
>
> The hint, QueryHints.CACHE_USAGE,
> CacheUsage.DoNotCheckCache, just means
> that a query will not check the cache before accessing the
> database, the
> query will still flush, and will still use the cache and
> persistence context
> when building the objects from the database result.
>
>
> Michael Simons wrote:
>
>
> Hello,
>
> How can I tell EL to ignore the cache when executing a
> query, so there's
> no flush done before
> executing the query?
> Is this done by query.addHint(QueryHints.CACHE_USAGE,
> CacheUsage.DoNotCheckCache) ?
>
> - michael
>
>
>
>
> -----
>
http://wiki.eclipse.org/User:James.sutherland.oracle.com
> James Sutherland
http://www.eclipse.org/eclipselink/
> EclipseLink ,
>
http://www.oracle.com/technology/products/ias/toplink/
> TopLink Wiki:
http://wiki.eclipse.org/EclipseLink
> EclipseLink ,
http://wiki.oracle.com/page/TopLink TopLink
> Forums:
>
http://forums.oracle.com/forums/forum.jspa?forumID=48
> TopLink ,
http://www.nabble.com/EclipseLink-f26430.html
> EclipseLink Book:
>
http://en.wikibooks.org/wiki/Java_Persistence Java
> Persistence
>
>
>
>
> _______________________________________________
> eclipselink-users mailing list