Glassfish is considered a reference implementation of the Java EE specs. This seems to me that you don't need any other third-party implementations for Java EE specs. However, I am confused by the fact that you need to use a JPA implementation, such as Hibernate, if your Java EE application uses JPA. So, can anyone explain how I should perceive this problem, please? Thank you very much.
-
Where exactly did you read that fact? You must have been misinformed or you must have misinterpreted it. – BalusC Sep 20 '13 at 19:11
-
@BalusC credit goes to you for your answer referred to in my edited answer. – Sym-Sym Sep 21 '13 at 15:12
2 Answers
Yes, it includes EclipseLink as the JPA reference implementation.
Refer to this link for details
Edit
A better answer goes to BalusC in this link
And a very nice reference is of Antonio Goncalves in this link
A backbone reference for CDI is this
GlassFish is the reference implementation, but it can (and does) use third party implementations of some specifications to achieve Java EE compatibility with Java EE 5, 6, and 7. JPA is one example, which we get from EclipseLink, Bean Validation and Weld from Red Hat are other examples, and Batch from IBM is yet another (Java EE 7). The end result is a fully compliant Java EE application server.
IMHO, stick with EclipseLink that ships with GlassFish because it is integrated, performance and quality tested with GlassFish, etc. Use Hibernate if you have an edge case that you need to support. My two cents.
Hope this helps.

- 3,324
- 21
- 13