Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java QueryDSL投影和空值_Java_Jpa_Querydsl - Fatal编程技术网

Java QueryDSL投影和空值

Java QueryDSL投影和空值,java,jpa,querydsl,Java,Jpa,Querydsl,鉴于此查询: final List list = new JPAQuery(entityManager).from(qdevice).leftJoin(qdevice.parentDevice) .list(Projections.bean(Device.class, qdevice.id, qdevice.parentDevice)); (parentDevice是设备的类型) 问题是,查询仅在parentDevice不为null时返回设备。为什么?如何找回价值?如果我从投影中取出qdevi

鉴于此查询:

final List list =
new JPAQuery(entityManager).from(qdevice).leftJoin(qdevice.parentDevice)
.list(Projections.bean(Device.class, qdevice.id, qdevice.parentDevice));
(parentDevice是设备的类型)

问题是,查询仅在parentDevice不为null时返回设备。为什么?如何找回价值?如果我从投影中取出qdevice.parentDevice,结果会很好

QueryDsl版本是3.2.0,你能试试吗

QDevice device = QDevice.device;
QDevice parentDevice = new QDevice("parentDevice");
List<Device> list = new JPAQuery(entityManager)
    .from(device)
    .leftJoin(device.parentDevice, parentDevice)
    .list(Projections.bean(Device.class, device.id, parentDevice));
QDevice device=QDevice.device;
QDevice parentDevice=新的QDevice(“parentDevice”);
列表=新的JPAQuery(entityManager)
.来自(设备)
.leftJoin(device.parentDevice,parentDevice)
.list(Projections.bean(Device.class、Device.id、parentDevice));
list
中对
qdevice.parentDevice
的引用可能被视为内部联接,因为它与左联接没有关联