The only sustainable solution I've found is to lead with positivity, and not tolerate negativity. Put people who can lead with positivity in management positions. Remove negative people from leadership roles. Don't tolerate negativity.
> Code review is important, but it is a necessarily a critique
Code review is only negative if you frame it as such, or allow the team to frame it as such.
We frequently have to mentor new employees to understand that code review comments are not equivalent to social rejection, not equivalent to being demeaned, and are simply a constructive group learning process.
This is where positive leaders are essential: If your leaders are introducing code review as "Yeah, it sucks to get your code torn apart..." then everyone is going to view it as a painful process where the goal is to please your peers. If you instead introduce code review as "Code review is a great way to get feedback, get some more eyes on your code, hone your skills, show others what you're doing, and spread understanding of your domain" then people tend to start to like it.