JPA'da ya da hazırda bekletme için hazırda bekletme yapmak için hazırda bekletme modunu kullanmak üzere bir açıklama olduğunu hatırlıyorum (özelliklerimizi annotate ediyoruz). Bu ayar olmadan getId, veritabanına vurmak ve istediğim gibi olmayan nesnenin tüm alanlarını doldurmakla sonuçlanır. Bu notun ne olduğunu bilen var mı?hibernate getId tempolu olsa bile nesneyi yüklüyor
Örnek:
public void Project {
@Id
//Other annotation forcing hibernate to use property get/settter
public Long id;
}
public Ticket {
@ManyToOne(lazy=true)
public Project project;
}
yüzden, id hazırda proje proxy nesnesi zaten olduğunda projeyi almak için veritabanını isabet içinde ticket.getProject.getId() sonuçlanır. Ek açıklama hatırladığım şeyi düzeltir.
sayesinde Dekan
Biraz daha ayrıntıyla bağlantıya geçin; http://256.com/gray/docs/misc/hibernate_lazy_field_access_annotations.shtml –
Üzgünüm, playframework'ı kullanıyorum ve bir süre sonra alıştınız. Kamu alanlarını kendim sevmiyorum, ama scala kullandıktan sonra, java'nın kodlamayı azaltmak için böyle bir şey yapmasını isterdim. –
sürgün, bu her bir sınıf için bir uyarı oluşturur, JPA spec açıklamasının ek açıklamaların getId yöntemine gitmesi gerektiğini söyler, ancak oraya taşımak sadece bir istisna ile sonuçlanır ve hiç çalışmaz. Bu günlerde bunu nasıl yapıyor? (Bu alanı tarlada kullandım ama hazırda bekletme özel olabilirdi) ... teşekkürler. –