HABTM é vendido em excesso. Muitas vezes, ele não atende às necessidades, como quando você tem dados adicionais para armazenar. Será melhor fazer um relacionamento hasMany/belongsTo entre os modelos.
Extraído do livro CakePHP:
No seu caso, sugiro fazer um
LineItem model e juntando tudo dessa forma:OrderhasManyLineItemLineItempertence aOrder,Product