While developing database driven applications using some ORM framework, some people prefer Object first approach and others follow DB first approach. I prefer DB first approach.
So, let us start listing down all the domain entities in our JCart application domain.
Let us create the database tables as follows:
Though we identified Cart as a domain entity, we are not creating the table for holding the Cart details. We are going to take the simple approach of storing the active cart details in HttpSession only. But in real applications it is strongly recommended to store them in some persistent storage like database.