Thanks to @Danaucleus for solving my issue. My mistake was just that I was setting the BrandEntity as parent of the Store manually.
store.addBrand(theBrand); //this should not be done
brand.getStores().add(store);
but this parent relationship is automatically filled when doing this:
brand.getStores().add(store);
Also, as I wanted a bidirectional relationship, I have to put the "mappedBy" annotation on both sides of the relationship, this at BrandEntity class (parent):
@Persistent (mappedBy="brand")
private List<StoreEntity> stores;
This at StoreEntity class (child)
@persistent (mappedBy="stores"
BrandEntity brand;
So I was definitively missing something stupid but it is true that the NullPointerException I was getting was unclear and unhelpful.