public void persistExample(Session session) { Vector allObjects = new Vector(); UnitOfWork unitOfWork = session.acquireUnitOfWork(); PopulationManager.getDefaultManager().addAllObjectsForClass(Person.class, allObjects); PopulationManager.getDefaultManager().addAllObjectsForClass(AAA.class, allObjects); PopulationManager.getDefaultManager().addAllObjectsForClass(Company.class, allObjects); PopulationManager.getDefaultManager().addAllObjectsForClass(Computer.class, allObjects); unitOfWork.registerAllObjects(allObjects); unitOfWork.commit(); }
public void populate(DatabaseSession session) { MapPopulator system = new MapPopulator(); UnitOfWork unitOfWork = session.acquireUnitOfWork(); system.buildExamples(); Vector allObjects = new Vector(); PopulationManager.getDefaultManager() .addAllObjectsForClass(EntityEntity1MMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(EntityDirectMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(EntityAggregateMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(DirectEntityU1MMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(DirectEntityMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(DirectEntity1MMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(DirectDirectMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(DirectAggregateMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(AggregateEntityU1MMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(AggregateEntityMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(AggregateEntity1MMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(AggregateDirectMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(AggregateAggregateMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(EntityEntityMapHolder.class, allObjects); PopulationManager.getDefaultManager() .addAllObjectsForClass(EntityEntityU1MMapHolder.class, allObjects); unitOfWork.registerAllObjects(allObjects); unitOfWork.commit(); }
public void persistExample(Session session) { Vector allObjects = new Vector(); allObjects.add(example1()); allObjects.add(example2()); allObjects.add(example3()); allObjects.add(example4()); // Bug 387491 - Three JUnitJPQLDateTimeTestSuite tests fail with Oracle jdbc 12.1 driver // Starting with Oracle jdbc 12.1 Statement.setDate no longer truncates time component of // sql.Date. // The following code makes Oracle9Platform to do that by setting shouldTruncateDate flag to // "true". boolean hasSetTruncateDate = false; if (session.getPlatform().isOracle9()) { try { Class clazz = PrivilegedAccessHelper.getClassForName( "org.eclipse.persistence.platform.database.oracle.Oracle9Platform"); Method getDriverVersionMethod = PrivilegedAccessHelper.getMethod(clazz, "getDriverVersion", null, false); String driverVersion = (String) PrivilegedAccessHelper.invokeMethod( getDriverVersionMethod, session.getPlatform(), null); if (Helper.compareVersions(driverVersion, "12.1") >= 0) { Method shouldTruncateDateMethod = PrivilegedAccessHelper.getMethod(clazz, "shouldTruncateDate", null, false); boolean shouldTruncateDate = (Boolean) PrivilegedAccessHelper.invokeMethod( shouldTruncateDateMethod, session.getPlatform(), null); if (!shouldTruncateDate) { Method setShouldTruncateDateMethod = PrivilegedAccessHelper.getMethod( clazz, "setShouldTruncateDate", new Class[] {boolean.class}, false); PrivilegedAccessHelper.invokeMethod( setShouldTruncateDateMethod, session.getPlatform(), new Object[] {true}); hasSetTruncateDate = true; } } } catch (Exception ex) { throw new RuntimeException("Failed oracle9Platform.setShouldTruncateDate(true)", ex); } } UnitOfWork unitOfWork = session.acquireUnitOfWork(); unitOfWork.registerAllObjects(allObjects); unitOfWork.commit(); if (hasSetTruncateDate) { // Now setting shouldTruncateDate flag back to its original value "false". try { Class clazz = PrivilegedAccessHelper.getClassForName( "org.eclipse.persistence.platform.database.oracle.Oracle9Platform"); Method setShouldTruncateDateMethod = PrivilegedAccessHelper.getMethod( clazz, "setShouldTruncateDate", new Class[] {boolean.class}, false); PrivilegedAccessHelper.invokeMethod( setShouldTruncateDateMethod, session.getPlatform(), new Object[] {false}); } catch (Exception ex) { throw new RuntimeException("Failed oracle9Platform.setShouldTruncateDate(false)", ex); } } }