netbeans ta ilk defa jpa kullanarak uygulama geliştiriyorum bununla beraber geliştirmek te olduğum bi projede veritabani bağlantisi için JPA hibernate implementasyonu kullanıyorum netbeasn wizard ile persistance dosyasını otomatik olusturdum bi entity olusturdum persist ettiğimde sorun yok ancak proje de ilerlerken (birkaç entity daha olusturdum )calistirdığımda No Persistence provider for EntityManager named OyuncakPU hatasını alıyorum halbuki

entityManagerFactory = Persistence.createEntityManagerFactory("OyuncakPU");

entityManager ı yukardaki koddan elde ediyorum ve persistanceUnit dosya ismi de OyuncakPU neden netbeans bi müddet sonra bu dosyayı bulamıyor anlamıyorum dosya META-INF içersinde duruyor.yalnız ben persistance dosyasını acip içersine showsql formatsql ve dialect propertilerinide ayarlıyorum eclipse de dialect ayarı otomatik geliyor netbeasn o olmadan defeault olarak connection a mı bakıyor acaba sql i hangi DBMS e göre üreticeğini belirlemek için ? wizard ile persistance ı yine olusturuyorum ama yine aynı.

soruldu: 15 Mar '12, 16:34

trueLife's gravatar image

trueLife
699182430
cevap kabul oranı: 10%

işin bir diğer ilginç tarafı eclipse te bir web tabanlı jpa projesi geliştirirken persistence.xml dosyası içersinde herhangi bir entity sınıfı tanımı yapmıyor olmamıza rağmen projenin sorunsuz çalısması halbuki netbeans aşşağıdaki gibi tanım olmadan entity sınıfı bulunamadı hatası veriyor <class>com.sasdev.it.tables.SatisDetay</class>

(16 Mar '12, 07:31) trueLife trueLife's gravatar image

Ilk mesajinda malesef anlayamadim, dekstop App yaptigini. Bir DekstopApp de melesef bütün Entity leri yazman gerekir persistence.xml e. TransactionType Resource_Local olmali ve Transaction lari kendin yönetmen gerekiyor. Yani em.getTransaction().begin(); ve em.getTransaction().commit(); kulanarak Transaction lari yönetmen gerekiyor. Ayrica bir DekstopApp de EntityManager herzaman extendet dir.

Senin persistence.xml ayarlarin da bir sorun göremedim ben sahsen. Hersey dogru görünüyor. Assagidaki linkte detayli bilgi var, belki burdan bir ilerleme kaydedebilirsin.

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/persistenceapi/

permanent link

cevaplandı: 16 Mar '12, 18:13

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988
cevap kabul oranı: 25%

1

projeyi bi daha bastan inceleyip hata mesajınada daha detaylın bakınca entity kerden birisinde namedqueries içersinde bi isimlendirme hatası olduğunu farkettim düzeltince sorun kalmadı sorun ile ilgilendiğiniz için cok tesekkür ederim

(18 Mar '12, 17:59) trueLife trueLife's gravatar image

Daha detayli yardimci olabilmek icin ayar dosyalarinin(örnegin persistence.xml) icerigini de yazarsan cok iyi olur. Bunun disinda dialect ayarini Netbeans de de yazabilirsin ama yazmadiginda senin de dedigin gibi otamatik aliyor olmasi lazim. ayrica Netbeans de Hibernate destegiyle birlikte bir WepProjesi olusturursan, hibernate.cfg.xml dosyasi da olusturuluyor ve bu dosyada dialect ve daha detayli ayarlar yapabilirsin. Ama bu dosya genelde kullanilmiyor onun yerine persistence.xml dosyasi tercih ediliyor.

Entity Siniflarini Deploymend esnasinda bir kac sekilde EntityManager'a kaydedebilirsin. Birincisi siniflari tek tek yazarsin persistence.xml de, ikincisi bunlari bir Jar-Dosyasinin icine koyarsin ve bu jar-Dosyasini <jar-file>entityProject.jar</jar-file> seklinde persistence.xml e baglarsin. Bir diger yol persostence.xml dosyasina hic bir sey yazmazsin, eger Entity Siniflari ayni projenin icindeyse, kullandigin Framework veya AppServer Deployment esnasinda projeyi otamatik olarak tarar, @Entity Annotation'u olan bütün siniflari EntityManager 'a kaydeder. Bu Eclipse ve ya Netbeans le alakali bisey degil.

permanent link

cevaplandı: 16 Mar '12, 08:32

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988
cevap kabul oranı: 25%

linkteki anatımı biraz inceledim oldukca iyi anlatıyor daha detaylı inceliyicem bağlantı için teşekkürler

(16 Mar '12, 20:11) trueLife trueLife's gravatar image

cevabınız için teşekkürler persistance.xml dosyasının içeriği ;

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="OyuncakPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>

    <class>com.sasdev.it.tables.Ariza</class>
    <class>com.sasdev.it.tables.Fatura</class>
    <class>com.sasdev.it.tables.Musteri</class>
    <class>com.sasdev.it.tables.Personel</class>
    <class>com.sasdev.it.tables.SatisDetay</class>
    <class>com.sasdev.it.tables.Urun</class>
    <class>com.sasdev.it.tables.Bayi</class>
    <class>com.sasdev.it.tables.Transferde</class>
    <properties>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
      <property name="hibernate.connection.password" value="12345"/>
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/oyuncak"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    </properties>

    OyuncakPU
    </persistence-unit>
</persistence>

not uygulama desktop uygulamasıdır. entity annotasyonlarını tarayan ilgili framework derken acaba jpa yı da kastediyormusunuz çünkü eger oyleyse jpa ben persistence.xml e entity class tanımlarını eklemesemde tüm sınıfları tarayıp entity leri bulacaktı.(bulamıyor?) su anda aslında proje de çözümsüz kaldım ilgili tüm hibernate kütüphanelerini ve meta-inf klasörünü silip tekrar persistace olusturmama rağmen aynı hatayı alıyorum ek bilgi : jpa da hibernate implementasyonu kullanılıyorum libs altında ki kütüphaneler -> C:\Program Files\NetBeans 7.0.1\java\modules\ext\hibernate altında olan tüm kütüphanelerdir

permanent link

cevaplandı: 16 Mar '12, 09:58

trueLife's gravatar image

trueLife
699182430
cevap kabul oranı: 10%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×109
×86
×39
×2

Soruldu: 15 Mar '12, 16:34

Görüntüleme: 1,344 kez

Son güncelleme: 18 Mar '12, 17:59

powered by BitNami OSQA