On top of that, unless you have perfected cryo sleep or suspended animation, you're essentially condemning generations to a life of nothing but the ship. They'll see and hear about all these cool things people that grew up on planets got to experience, but never know them. Assuming they don't eventually revolt and turn the ship around, the intermediate generations might even adopt a "who cares?" attitude because only the landing generation needs to actually know stuff besides maintaining the ship (and at that point it is likely an AI can do most of that anyway). If you're generations 3-8 of a 10+ generation trip, for example, it is going to be sort of difficult for those people to give a shit. More than likely you'll find everyone turning towards a hedonistic lifestyle because they know they are just going to die in deep space, and they may even stop having kids because why condemn your kids to that too?
Obviously there are ways to somewhat counter some of that, but it wouldn't take much to get everyone to stop giving a shit. Let's just use up all the alcohol and fuck ourselves blind (with birth control) until we die out. They literally have nothing to live for except the promise of their future generations, but just because the initial people you send have the conviction to see it through doesn't mean their grandkids do.
So yeah, without suspended animation or AI gestating embryos or something, I don't see generation ships working at all. And that's skipping all the other hurdles once you get there, like Cybsled talked about.