Hibernate ve jpa

Embed Size (px)

DESCRIPTION

hibernate ve jpa kullanımı

Citation preview

  • 1. Hibernate ve JPA (Java Persistance API) JPA Nedir : Java EE 5 ile gelen standart persistance (verinin kalc hale gelmesi) API'sidir. Faydas : Daha nceden mevcut olan dier veri kalcl salayan ktphanelerin ( Hibernate, Toplink, JDO gibi ) ortak bir tanm altnda birletirilmesi.Daha nce her ktphane kendi API'sini veriyordu ve birinden dierine gei zorlayordu.

2. Veri Kalcl Katman 3. JPA Provider Seimine rnek 4. JPA 3 ana blmden olumaktadr

  • 1. JPA Snf Hiyerarisi

5. 2. JPQL (Java Persistance Query Language) 6. 3. Nesne Tablo ilikisini gsteren mapping meta datas 7. JPA'da nemli Snflarn Hiyerarisi 8. Metadata ve JPQL 9. Hibernate ve JPA

  • Hibernate daha eski ve byk.JPA bir ok yapy buradan alm

10. Peki Hibernate ve JPA Arasnda Ne Fark Var ?

  • JPA'nn sadece bir standart olduunu unutmayalm. Hibernate onu implement ediyor.

11. Dolaysyla JPA = Hibernate gibi dnlebilir ancak arada baz kk farkllklar halen var. 12. rnek 1 : HQL ve JPQL arasndaki farklar

  • Hibernate ile de bir sorgulama dili geliyor. smi Hibernate Query Language (HQL).

13. HQL ile JPQL arasnda farklar var. rnein en byk fark HQL ile from Customer denirken JPQL ile select from Customer demek gerekiyor. 14. Dolaysyla HQL ve JPQL ayn andakullanlamazlar! 15. rnek 2 : Default Constructor Kullanm

  • The JPA specification requires that all persistent classes have a no-arg constructor. This constructor may bepublic or protected.

16. All persistent classes must have a default constructor (which can be non-public) so that Hibernate can instantiate them using Constructor.newInstance(). It is recommended that you have a default constructor with at leastpackage visibilityfor runtime proxy generation in Hibernate. 17. Nesne Ynelimli Programlamada Temel Kavramlar

  • 1. Veri Soyutlama (data abstraction)

18. 2. ok biimlilik (polymorphisim) 19. 3. Kaltm (inheritance) 20. 4. likiler/Balantlar (association) 21. rnek 22. Nesne Ynelimli Programlama Sebebiyle Hibernate Taklalar Atmak Zorundadr

  • Veri Soyutlama sebebiyle Reflection kullanlr

23. liki/Balantlar sebebiyle byte code instrumentation veya kendi iindeki persistant snflar kullanr 24. Kaltm iin de zm vardr 25. Reflection ile gizlenmi verilere erime

  • Herey java.lang.reflect.AccessibleObjectile olur

26. Snflar Aras Balantlar (Association) 27. Tek Ynl Balantlar Many-To-One ve One-To-One in Byte Code Provider Kullanr 28. Dier Balantlar in Kendi iindeki Snflar Kullanlr

  • PersistentArrayHolder, PersistentBag, PersistentElementHolder, PersistentIdentifierBag, PersistentIndexedElementHolder, PersistentList, PersistentMap, PersistentSet gibi.

29. Hibernate le ki Kademe nbellek (cache) gelir

  • Birincil nbellek session'a baldr ve session kapatlnca kaybolur.

30. kincil nbellek ise session factory nesnesine baldr ve session factory kapatlnca kaybolur.