593 ora::MappingElement&
me = parentElement.appendSubElement( elementType, attributeName, className, parentElement.tableName() );
602 std::string objectScopeNameForSchema = scopeNameForSchema;
603 if( !objectScopeNameForSchema.empty() ) objectScopeNameForSchema +=
"_";
604 objectScopeNameForSchema += attributeNameForSchema;
608 for (
auto const & member : members) {
617 throwException(
"Type for data member \""+objectMember.name()+
"\" of class \""+className+
618 "\" has not been found in the dictionary.",
619 "ObjectMapping::process");
624 if( declaringType != objectType ){
628 std::string objectMemberName = objectMember.name();
629 std::string objectNameForSchema = objectMember.name();
633 std::auto_ptr<IRelationalMapping> processor( mappingFactory.newProcessor( type, blobStreaming ) );
634 processor->process( me, objectMemberName, objectNameForSchema, objectScopeNameForSchema );
edm::TypeWithDict resolvedType(const edm::TypeWithDict &typ)
void processBaseClasses(MappingElement &mappingElement, const edm::TypeWithDict &objType, const std::string &scopeNameForSchema, TableRegister &tableRegister)
std::string cppName() const
static std::string objectMappingElementType()
Returns the name of the object mapping element type.
bool isMappedToBlob(const edm::MemberWithDict &dataMember)
TableRegister & m_tableRegister
void throwException(const std::string &message, const std::string &methodName) __attribute__((noreturn))
bool isLoosePersistencyOnWriting(const edm::MemberWithDict &dataMember)
std::string className(const T &t)
void setColumnNames(const std::vector< std::string > &columns)