First things first, you are using the correct hook.
If your module is already enabled, then the implementation of
hook_schema() won't get called. This is also the case if the module has been enabled, and then disabled without uninstalling.
I would try disabling your module, and then ensuring it is uninstalled by either heading to admin/modules/uninstall/ or (if you have Drush installed) run
drush pm-uninstall mymodule
From the documentation:
The tables declared by this hook will be automatically created when
the module is first enabled, and removed when the module is
uninstalled. This happens before hook_install() is invoked, and after
hook_uninstall() is invoked, respectively.
I'm not sure why you'd be defining a controller class though, or even which one you're defining. Drupal 7 does this with an array, it's not very OO (Drupal 6/7 is array soup).
If this doesn't solve your issue perhaps you could paste a munged version of your implementation of