Yazar |
|
perihan
Ankara
Kayıt: 09.01.2006 |
|
veri tabanındaki Proje Tablosu
PROJE_ID
PROJE_NO
PROJE_ADI
DOSYA_NO
…….
veri tabanındaki Dokuman Tablosu
DOKUMAN_ID
DOKUMAN_ADI
PROJE_ID
Dokuman hibernateinde
Proje proje; olarak tanımlanmış.ve
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PROJE_ID")
Ben jsp de dokuman.proje.projeId ye erişebiliyorum fakat dokuman.proje.projeAdi na erişemiyorum.Projenin diğer alanlarına erişemiyorum.Bu sorun nerden kaynaklanıyor?
hata mesajı : javax.el.ELException: Error reading 'projeAdi' on type hibernate.Tblproje$$EnhancerByCGLIB$$3e60d638
|
|
Yazar |
|
audtou
malatya
Kayıt: 31.08.2006 |
|
perihan yazdi | veri tabanındaki Proje Tablosu
PROJE_ID
PROJE_NO
PROJE_ADI
DOSYA_NO
…….
veri tabanındaki Dokuman Tablosu
DOKUMAN_ID
DOKUMAN_ADI
PROJE_ID
Dokuman hibernateinde
Proje proje; olarak tanımlanmış.ve
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PROJE_ID")
Ben jsp de dokuman.proje.projeId ye erişebiliyorum fakat dokuman.proje.projeAdi na erişemiyorum.Projenin diğer alanlarına erişemiyorum.Bu sorun nerden kaynaklanıyor?
hata mesajı : javax.el.ELException: Error reading 'projeAdi' on type hibernate.Tblproje$$EnhancerByCGLIB$$3e60d638
|
lazy yülemeden dolayı alamıyosun galiba.FetchType.EAGER yaparsan sorun hallolur ama bu iyi bi çözüm olmaz.bu iş için özel bi metod ekle session bean'e,ilgili dokumanin proje nesnesinide ekleyerek döndürsün.
bitiyo lan!
|
|
Yazar |
|
perihan
Ankara
Kayıt: 09.01.2006 |
|
Kodda eklemeyi denedim ama NullPointerException oluştu.
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
TbldokumanDAO dokumanDAO = TbldokumanDAO.getFromApplicationContext(getApplicationContext());
TblprojeDAO projeler=TblprojeDAO.getFromApplicationContext(getApplicationContext());
List <Tbldokuman> dokumanlar = dokumanDAO.findAll();
for ( Tbldokuman dokuman: dokumanlar) {
Tblproje proje=projeler.findById(dokuman.getTblproje().getProjeId());
dokuman.setTblproje(proje);
}
return new ModelAndView("dokumanListele","dokumanlar",dokumanlar);
}
|
|
Yazar |
|
perihan
Ankara
Kayıt: 09.01.2006 |
|
audtou yazdi |
lazy yülemeden dolayı alamıyosun galiba.FetchType.EAGER yaparsan sorun hallolur ama bu iyi bi çözüm olmaz.bu iş için özel bi metod ekle session bean'e,ilgili dokumanin proje nesnesinide ekleyerek döndürsün. |
Teşekkürler..FetchType.EAGER yapınca sorun halloldu.Eager ile Lazy arasındaki fark nedir ve FetchType.EAGER kullanımı neden iyi bir çözüm değil acaba?
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
lazy olsa bile getter çağırınca map ettiğin listeyi getirmesi lazım.
Lazy nesnedeki property nin getter i çağrıldığında datayı yükler. Eager sorguyu yaptıktan sonra yükler.
N/A
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| |