2011-06-17 48 views
11

我在我的Java項目中使用QueryDSL和Spring Data JPA,並使用QueryDSL maven插件生成文件以使用它生成的QueryDSL Model類。當我使用它爲一個級別的嵌套對象時,這工作的很好,但是如果我嘗試訪問第二級訪問對象,它會給NullPointerException保存第二級模型對象未初始化。QueryDSL生成的類無法訪問查詢的第二級元素

希望得到一些幫助。

第3行中出現NullPointerException qmachine.vendor爲空。

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

我的映射類是下面: 交易

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

    private static final long serialVersionUID = 1L; 

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

} 

和機器類:

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

    private static final long serialVersionUID = 1L; 

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

與賣方類是

@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; 

} 

我有ommit有意識地吸氣和安裝人員。

+1

你能發佈stacktrace嗎? – abalogh 2011-06-17 11:39:50

回答