public RelationalDescriptor buildImageDescriptor() { RelationalDescriptor descriptor = new RelationalDescriptor(); descriptor.setJavaClass(org.eclipse.persistence.testing.tests.lob.Image.class); descriptor.addTableName("IMAGE"); descriptor.addTableName("CLIP"); descriptor.addPrimaryKeyFieldName("IMAGE.ID"); // Descriptor properties. descriptor.useSoftCacheWeakIdentityMap(); descriptor.setIdentityMapSize(100); descriptor.useRemoteSoftCacheWeakIdentityMap(); descriptor.setRemoteIdentityMapSize(100); descriptor.setSequenceNumberFieldName("IMAGE.ID"); descriptor.setSequenceNumberName("image_lob_seq"); descriptor.setAlias("Image"); // Query manager. descriptor.getQueryManager().checkCacheForDoesExist(); // Named Queries // Event manager. // Mappings. DirectToFieldMapping idMapping = new DirectToFieldMapping(); idMapping.setAttributeName("id"); idMapping.setFieldName("IMAGE.ID"); descriptor.addMapping(idMapping); DirectToFieldMapping pictureMapping = new DirectToFieldMapping(); pictureMapping.setAttributeName("picture"); pictureMapping.setFieldName("IMAGE.PICTURE"); pictureMapping.setFieldClassification(java.sql.Blob.class); descriptor.addMapping(pictureMapping); DirectToFieldMapping scriptMapping = new DirectToFieldMapping(); scriptMapping.setAttributeName("script"); scriptMapping.setFieldName("IMAGE.SCRIPT"); scriptMapping.setFieldClassification(java.sql.Clob.class); descriptor.addMapping(scriptMapping); DirectToFieldMapping audioMapping = new DirectToFieldMapping(); audioMapping.setAttributeName("audio"); audioMapping.setFieldName("CLIP.AUDIO"); audioMapping.setFieldClassification(java.sql.Blob.class); descriptor.addMapping(audioMapping); DirectToFieldMapping commentaryMapping = new DirectToFieldMapping(); commentaryMapping.setAttributeName("commentary"); commentaryMapping.setFieldName("CLIP.COMMENTARY"); commentaryMapping.setFieldClassification(java.sql.Clob.class); descriptor.addMapping(commentaryMapping); return descriptor; }