title: Difference between attribute name, logical name and physical name in hibernate
body: <p>I am new to hibernate and having difficulty in understanding what is the use of logical name in hibernate? I have read this <a href="http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#PhysicalNamingStrategy" rel="nofollow noreferrer">http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#PhysicalNamingStrategy</a></p>
  
  <p>I have failed to understand the difference between class attributes name, logical name and physical name.
   I understand that physical name is the name in db, attributes name are of course java class attributes name. But what is the role of logical name? And why there are 2 stages now called as ImplicitNamingStrategy and PhysicalNamingStrategy?</p>