That's not exactly what the solution is all the time. In Orderlines it was, because it contained additional information, than just which orders had which products (and that would be the quantity). In many cases you can get away with not having to define an actual model class for your many-to-many table.
For example, If product can appear in many Categories, and Categories can have many products, then you've got a good use for a many-to-many element mapping. You don't need that join table represented in the model in any capacity, you just need the references between the two tables tracked. You would have a many-to-many table with just two columns. ProductID and CategoryID.