i am new to persistence world.I have doubts like following:
1)Is Hibernate Entity Manager module is itself JPA or JPA is different?
2) heard something like EJB3 uses JPA, I don't know how?
3)Is Hibernate uses JTA for tansaction demarcations or uses JDBC Tx demarcations, or any other info about that stuff.
JPA is just a specification, not an actual implementation. Products like Hibernate, Toplink, OpenJPA implement the JPA specification. Usually these products go above and beyond what is in the specification. Meaning adding more features.
EJB 1 and 2 had Entity Beans, which to put mildly, sucked. So in EJB3, the removed Entity Beans and created JPA instead, and pulled it out of the EJB spec. In JPA 1.0 it was part of Java EE 5, which does include EJB3, JSF, JSP/Servlets etc.
Transactions are created by TransactionManagers, not by Hibernate or a JPA implementation. So JDBC Transactions, JTA Transactions, etc are just Transactions.
Products like Hibernate are written such that the choice of TransactionManager/Transactions is independent of Hibernate. Hibernate just works with them automatically.