It depends not on how are your associations defined, but there are some limitations which Doctrine2 has for MN entities.
The main limitation is in way how Doctrine2 handles these associations. Doctrine 2 doesn't allow to have separate entity for MN entity and store any data inside this entity. Because of that, if you need to store any data inside this entity, you need to redefine MN association as two separated one-to-many associations.
The problem with four imported entities is probably caused by incorrectly defined mn-association, or maybe you have defined many-to-many and one-to-many together to single entity. And because of the limitation I described above, Skipper creates two entities. One for MN entity and second for one-to-many associations.
For more detailed answer and solution please send us definitions with your Article, ArticleCategory and Category. You can post it here or send it to [email protected]