Share tags2

Supersedes #11351.
About the previous comment: If you expect a DB exception, catch it and throw a service exception to prevent a leaky abstraction. The loadTags method should be a simple select so i have no idea why an exception is being caught