Done:
- Now generating constraints for Foreign Key and Unique Key. Also generating child table and child domain objects.
- Repository adjusted to generate methods to create parent and child objects
- Save method is now generated only for parent objects.
-Child object and tables generated
- Reference field to a child object is no longer generated in the parent table

To do:
- constructor parameters for the child objects are not correct. It currently passes the parameters of the parent object.
- Providers passed to construct a reference objects aren't correct. It passes the providers required by the parent object instead of the providers required by the reference object
- Providers aren't passed anymore to child objects. If a child object has a reference to an aggregate root, it would need to receive the provider necessary to create the reference object on lazy load.
- Currently, all child objects and references are assumed to be lazy loaded. This might not always be desirable. We need to consider a way to load some child with the aggregate root and have the repository method generated correctly
- We are still not supporting business methods and child objects when cardinality is multiple. We need to have a way to remove/add/update objects that are children.
- The save method is not currently implemented.
- And probably many more things!!!