I am trying to persist an object that has a many-to-many relationship with other objects already persisted.
Here is my persisted object (they are already persisted i
I have a feeling that your annotations are slightly incorrect. Not by much though, have a look at Example 7.24 here and see if it matches your annotations. Ignore the Collection datatype though, as you shouldn't have any problems using a Set. I notice that you are missing a cascade=CascadeType.ALL on your Product collection, but I can't work out if that is the problem or not.
What the actual exception is saying is that your Product object(s) haven't actually been saved when its trying to save the collection of Product's. That's why I think its a problem with your annotations.
Try it out and let me know if you get anywhere.