Abh*_*hek 11 java spring querydsl spring-data
我在我的Java项目中使用带有Spring Data JPA的QueryDSL,并使用QueryDSL maven插件生成文件,以使用它生成的QueryDSL Model类.当我将它用于一个级别的嵌套对象时,这非常有用,但是如果我尝试访问第二级访问对象,则会产生NullPointerException,从而无法初始化第二级模型对象.
会感激一些帮助.
我在第3行获得NullPointerException qmachine.vendor为null.
QTransaction qtransaction = QTransaction.transaction;
QMachine qmachine = qtransaction.machine;
BooleanExpression vendorexp = qmachine.vendor.vendor.eq(machineType);
Run Code Online (Sandbox Code Playgroud)
我的映射类如下:交易
@Entity
@Table(name = "dsdsd")
public class Transaction extends AbstractPersistable<Long> {
private static final long serialVersionUID = 1L;
@ManyToOne
@JoinColumn(name = "machine_id")
private Machine machine;
}
Run Code Online (Sandbox Code Playgroud)
机器类是:
@Entity
@Table(name="machine")
public class Machine extends AbstractPersistable<Long> {
private static final long serialVersionUID = 1L;
@ManyToOne
@JoinColumn(name="vendor_id")
private Vendor vendor;
}
Run Code Online (Sandbox Code Playgroud)
和供应商类是
@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;
}
Run Code Online (Sandbox Code Playgroud)
我故意省略了吸气剂和二传手.
Tim*_*per 14
默认情况下,仅初始化第一级.有关初始化选项,请参阅此文档部分:http://www.querydsl.com/static/querydsl/3.6.0/reference/html/ch03s03.html#d0e2192
由于可能存在无限循环,因此最终字段无法进行完全深度初始化,但Querydsl也提供了属性访问器方法的选项.
| 归档时间: |
|
| 查看次数: |
8431 次 |
| 最近记录: |