If you join CX, have them train you and then walk out before the 7 year contract is up then I think other airlines would avoid you like the plague - as they should.
No company is perfect, they are run for profit not for the benefit of individual employees. These days cost cutting is a must and a reality that needs to be faced whatever sector you work in. If CX are willing to take you on and spend 18 months training you then I think you should be willing to stick to your side of the bargain too. I'd jump at the chance but think I'm probably too old to be considered now.