I have passed today 1Z0-898 (Java EE 6 Java Persistence API Developer Certified Expert Exam) with 91%
My study was as follows:
1. Read completely "Pro JPA 2: mastering the Java Persistence API" by Mike Keith, Merrick Schincariol. Pro JPA 2.0 is very well written, highly recommended.
2. Completed all four tests in Enthuware's JPAD 6.
3. Read completely JPA 2.0 specification. JPA 2.0 specification is a Bible for this exam - must read.
4. Read second time Pro JPA 2.0.
5. Completed again all four tests from JPAD 6. Important: make sure you read all explanations from Enthuware's JPAD 6 - it has questions similar to ones you will get on the exam. All simulator's questions are relevant to the exam.
Some random tips for test takers:
1. Persistence context lifecycle (transaction scoped vs extended)
2. Entity Manager types (container mananed vs application manaed)
3. Criteria queries typed/untyped (multiselect); subquery - how to get max value in subquery and compare with attribure in main query
4. PersistenceException subclasses! Which rollbacks whole transaction/rollback only current statement
5. Locking optimistic/pessimisic. Know by heart all LockModeType values.
6. Transaction attributes inheritance - single question, EJB 3.1, section 188.8.131.52
7. Entity inheritance strategies (JOINED, SINGLE_TABLE)
8. Embeddables collections (@ElementCollection, @CollectionTable)
9. @Version and bulk updates - what possible problems might occure.
10. Second level caching: shared cache mode ENABLE_SELECTED (what will be cached and what will not be cached with different @Cacheable)
11. javax.persistence.Cache.evict(class) - what it does to subclasses
12. PersistenceUtil.isLoaded() for regular one-to-one relationship and one-to-one relationship with LAZY fetch type
13. Pessimistic lock - escalation from read to write when writing to DB.
14. JPQL functions SIZE(), COUNT() - make sure you know what they do and in what part of query they may be used
15. How to add managed classes to Persistent Unit (add to persistence.xml OR orm.xml). Remember that within container (EAR, WAR, EJB-JAR) managed classes discovered automatically.
16. What object is used to create TypedQuery?
17. Multiple Persistent Units in EAR. How can entities access each other (and when they cannot)? Can Persistence Units within EAR have same names?
18. UserTransaction. What methods when can throw which exceptions.
22. What options provides JPA for composite primary keys (@EmbeddedId, @IdClass)? What is the difference?
23. Entity lifecycle (removed, detached, managed, merged, and how can change one state to another)
24. Canonical Metamodel Classes: how fields look like in them (single property, collection property, list property,...)?
25. Know what mappedBy and targetEntity used for.
I have tried to search some information about this certification and I found something about EJB 3.1. Could you somebody tell me if there are some objectives from EJB 3.1 it this certification.
I haven't experiences with EJB and this could be problem for me and maybe not .