Remove TableColumnManyMap, rename TableColumnOneMap to TableColumnMap and make one @interface for ManyMap and OneMap , works well with thisKey and foreignKey defaults of empty ""