I have setup a domain project which is being populated with an ORM. The domain contains of different aggregates each with its own root object. My question is how properties that
It depends on what bounded context strategy you use.
If you choose shared kernal, I think it's fine to have a direct relationship between them(direct reference or identifier reference, I believe someone else will explain the pros and cons in other answers). and you've also mentioned these objects integrated by database tables.
But if you choose anti-corruption-layer, you'd better seperate them(use just identifier to keep the relationship), use adapter-translator to integrate(and no database integration).