Академический Документы
Профессиональный Документы
Культура Документы
EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, Object XML mapping (OXM), and Enterprise Information Systems (EIS). EclipseLink supports a number of persistence standards Eclipse Persistence Services Project (EclipseLink) is a comprehensive persistence framework delivering a set of persistence services based around leading standards with advanced extensions. Consumers can use EclipseLink within Java EE, SE, and OSGi/Equinox environments.
LOB's NChar's XMLType's TIMESTAMP (TZ, LTZ)'s Native batch writing Structured object-relational data-types PLSQL data-types and stored procedures VPD, RAC, proxy authentication XDK XML parser Hierarchical selects (Select by prior) Returning clause Flashback history and queries Stored procedures, output parameters and output cursors Stored functions Oracle AQ
IN parameters OUT parameter INOUT parameters result sets CURSOR OUT parameters Object-relational datatypes (Struct, Array) Oracle PLSQL types such as TABLE, RECORD, BOOLEAN Using a stored procedure in a named query Using a stored procedure in a dynamic query Using a stored procedure to override an Entity's persist, update, remove or find query. Using a stored procedure to override a mapping's select, insert or delete query. Stored functions Oracle, SQL Server, MySQL, Sybase, DB2, other stored procedure capable platforms
Triggers can be used in the tables being processed by EclipseLink. If a trigger is updating data required back in the application, or the id, the @ReturnInsert, @ReturnUpdate or ReturningPolicy can be used the return the values updated by the trigger.
This SQL will contain ? for parameters. To get the SQL translated with the arguments you need a DatabaseRecord with the parameter values.
Session session = em.unwrap(JpaEntityManager).getActiveSession(); DatabaseQuery databaseQuery = ((EJBQueryImpl)query).getDatabaseQuery();
If you are using LAZY relationship, a List (it is also possible with Set, but there can be issues), and weaving (static or dynamic), then add() and remove() will not instantiate the children. If the children is not something you want to ever read, then consider not mapping it, just query it if needed. If the parent's children is not instantiated, you could avoid adding the child. (see PersistenceUnitUtil.isLoaded()). You can call refresh() on the parent after the commit to reset its children. You can avoid adding the child if you clear or throw away your persistence unit, and are not using a shared cache.