Correct me if am wrong in these relation Ship between Opportunity, OpportunityLineItems(Opportunity Product), PricebookEntry, Product2 & Pricebookentry in Salesforce.
OpportunitylineItem is junction object between opportunity and pricebookentry. As We need PricebookEntry Id and opportunity Id while creating OpportunityLineItems.
PricebookEntry is a junction object between Product2 and PriceBook. As we need Product2 Id and PriceBook2 Id while creating PricebookEntries.
Thanks in advance. :)