According to
this, laziness (what is fetched) is orthogonal to the fetching strategy itself (how it is fetched). It seems to follow that for a given many-to-one, which has fetch="select" behaviour by default when the associated class is lazy="proxy", changing the associated class' mapping to lazy="false" should not affect the fetch strategy, yet it does. The fetch strategy changes to fetch="join", meaning we must supply a fetch="select" to revert back to the 'default' behaviour.
Since lazy="false" is almost always used in conjunction with the second level cache, and fetch="select" makes more sense than fetch="join" in those circumstances, I propose that the more sensible behaviour outlined above be restored.
Your thoughts?