Object Relational Mapping with Toplink


What is Toplink?




public Descriptor buildAddressDescriptor() {
	Descriptor descriptor = new Descriptor();
	descriptor.setJavaClass(examples.sessions.threetier.model.Address.class);
	descriptor.addTableName("ADDRESS");
	descriptor.addPrimaryKeyFieldName("ADDRESS.ADDRESS_ID");
	
	// Descriptor properties.
	descriptor.useSoftCacheWeakIdentityMap();
	descriptor.setIdentityMapSize(100);
	descriptor.useRemoteSoftCacheWeakIdentityMap();
	descriptor.setRemoteIdentityMapSize(100);
	descriptor.setSequenceNumberFieldName("ADDRESS.ADDRESS_ID");
	descriptor.setSequenceNumberName("ADDRESS_SEQ");
	descriptor.setAlias("Address");
	
	// Query manager.
	descriptor.getQueryManager().checkCacheForDoesExist();
	//Named Queries
	
	// Event manager.
	
	// Mappings.
	DirectToFieldMapping cityMapping = new DirectToFieldMapping();
	cityMapping.setAttributeName("city");
	cityMapping.setFieldName("ADDRESS.CITY");
	descriptor.addMapping(cityMapping);
	
	DirectToFieldMapping countryMapping = new DirectToFieldMapping();
	countryMapping.setAttributeName("country");
	countryMapping.setFieldName("ADDRESS.COUNTRY");
	descriptor.addMapping(countryMapping);
	
	DirectToFieldMapping idMapping = new DirectToFieldMapping();
	idMapping.setAttributeName("id");
	idMapping.setFieldName("ADDRESS.ADDRESS_ID");
	descriptor.addMapping(idMapping);
	
	DirectToFieldMapping postalCodeMapping = new DirectToFieldMapping();
	postalCodeMapping.setAttributeName("postalCode");
	postalCodeMapping.setFieldName("ADDRESS.P_CODE");
	descriptor.addMapping(postalCodeMapping);
	
	DirectToFieldMapping provinceMapping = new DirectToFieldMapping();
	provinceMapping.setAttributeName("province");
	provinceMapping.setFieldName("ADDRESS.PROVINCE");
	descriptor.addMapping(provinceMapping);
	
	DirectToFieldMapping streetMapping = new DirectToFieldMapping();
	streetMapping.setAttributeName("street");
	streetMapping.setFieldName("ADDRESS.STREET");
	descriptor.addMapping(streetMapping);
	
	return descriptor;
}