List<PackageVersion> pvs = q.getResultList(); for (PackageVersion pv : pvs) { entityManager.remove(pv.getExtraProperties()); pv.setExtraProperties(null);
@Override @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public PackageVersion persistPackageVersion(PackageVersion pv) { // EM.persist requires related entities to be attached, let's attach them now // package has persist cascade enabled, so skip loading it if we'll allow it to be created here if (pv.getGeneralPackage().getId() > 0) { pv.setGeneralPackage(entityManager.find(Package.class, pv.getGeneralPackage().getId())); } // arch has persist cascade enabled, so skip loading it if we'll allow it to be created here if (pv.getArchitecture().getId() > 0) { pv.setArchitecture(entityManager.find(Architecture.class, pv.getArchitecture().getId())); } // config is optional but has persist cascade enabled, so skip loading it if we'll allow it to be created here if (pv.getExtraProperties() != null && pv.getExtraProperties().getId() > 0) { pv.setExtraProperties(entityManager.find(Configuration.class, pv.getExtraProperties().getId())); } // our object's relations are now full attached, we can persist it entityManager.persist(pv); return pv; }
persisted.getGeneralPackage().getId(); persisted.getArchitecture().getId(); if (persisted.getExtraProperties() != null) { persisted.getExtraProperties().getId();
packageVersionAttributeCheck(pvExisting, pvExisting.getExtraProperties(), pv, pv.getExtraProperties(), "ExtraProps"); packageVersionAttributeCheck(pvExisting, pvExisting.getFileSize(), pv, pv.getFileSize(), "FileSize");
details.setDisplayName(pv.getDisplayName()); details.setDisplayVersion(pv.getDisplayVersion()); details.setExtraProperties(pv.getExtraProperties()); details.setFileCreatedDate(pv.getFileCreatedDate()); details.setFileName(pv.getFileName());