2011-06-17 13 views
11

Java Projemde Spring Data JPA ile QueryDSL kullanıyorum ve QueryDSL maven eklentisini kullanarak oluşturulan QueryDSL Modeli sınıflarını kullanarak oluşturulmuş dosyalarım var. Bu, bir düzeyde yuvalanmış nesneler için kullandığımda harika çalışır, ancak 2. seviye erişim nesnelerine erişmeye çalışırsam, bir NullPointerException verirken 2. düzey model nesnesinin kaydedilmesi başlatılmaz.QueryDSL Oluşturulan sınıflar sorgulamak için ikinci düzey öğelere erişemiyor

Yardımdan memnun olurum.

Üçüncü satırda bir NullPointerException alıyorum qmachine.vendor boş. İşlem

@Entity 
@Table(name = "dsdsd") 
public class Transaction extends AbstractPersistable<Long> { 

    private static final long serialVersionUID = 1L; 

    @ManyToOne 
    @JoinColumn(name = "machine_id") 
    private Machine machine; 

} 

Ve Makine sınıftır:

QTransaction qtransaction = QTransaction.transaction; 
QMachine qmachine = qtransaction.machine; 
BooleanExpression vendorexp = qmachine.vendor.vendor.eq(machineType); 

Benim Haritalama sınıfları

altındadır

@Entity 
@Table(name="machine") 
public class Machine extends AbstractPersistable<Long> { 

    private static final long serialVersionUID = 1L; 

    @ManyToOne 
    @JoinColumn(name="vendor_id") 
    private Vendor vendor; 
} 

ve Satıcı sınıfı I ommit var

@Entity 
@Table(name="vendors") 
public class Vendor extends AbstractPersistable<Long> { 

    private static final long serialVersionUID = 1L; 

    @Column(name="vendor") 
    @Enumerated(EnumType.STRING) 
    private VendorType vendor; 

} 

olduğunu alıcıları ve ayarlayıcıları bilerek kullandı.

+1

Stacktrace'i gönderir misiniz? – abalogh

+0

Kodu eklendi. Stacktrace, qmachine.vendor.vendor adresindeki bir NullPointerException idi. – Abhishek

cevap

İlgili konular