  Code generation from models is a core activity in model-driven development
(MDD). For complex systems it is usually impossible to generate the entire
software system from models alone. Thus, MDD requires mechanisms for
integrating generated and handwritten code. Applying such mechanisms without
considering their effects can cause issues in projects with many model and code
artifacts, where a sound integration for generated and handwritten code is
necessary. We provide an overview of mechanisms for integrating generated and
handwritten code for object-oriented languages. In addition to that, we define
and apply criteria to compare these mechanisms. The results are intended to
help MDD tool developers in choosing an appropriate integration mechanism.
