Do you guys have a standard where you have to put all those annotations in your class, because for all those properties of your class that are the same name as the corresponding database field name doesn't need any Annotation. The smart defaults are all set to match what you have as those Annotations.
So you don't have an assocation mapping between those two class, but still want a left outer join. I would try two things
First, try just adding a "(+)" on the optional side, just like you would in SQL.
If that doesn't work, use SQL instead and use the "(+)" on the optional side.