如何在反应式 PostgreSQL、Quarkus 中查询包含另一个对象的对象
我有一个类 RetailPlace,其数据放置在 Retail_place 表中,还有 RetailPlaceAddress 类,其数据放置在 Retail_place_address 表中。通过retail_place.id = Retail_place_address.retail_place_id连接retail_place和retail_place_address。我需要创建一个返回带有 RetailPlaceAddress 的 RetailPlace 对象的方法。 我尝试先获取 RetailPlaceAddress,然后将其放入接下来获取的 RetailPlace 对象中,但它不起作用:
public static Uni<RetailPlace> get(PgPool client, long id){
return client.preparedQuery("select * from retail_place_address where retail_place_id = $1")
.execute().onItem().transform(RowSet::iterator)
.onItem().transform(iterator -> iterator.hasNext() ? RetailPlaceAddress.from(iterator.next()) : null).onItem()
.transform(retailPlaceAddress -> new RetailPlace(client.preparedQuery("select * from retail_place where id = $1").execute()
.onItem().transform(pgRowSet -> new RetailPlace(pgRowSet.iterator().next().getLong("id"), pgRowSet.iterator().next().getString("title"), retailPlaceAddress))));
}
I have a class RetailPlace, whose data is placed in retail_place table, and RetailPlaceAddress, whose data is in retail_place_address table. retail_place and retail_place_address connected via retail_place.id = retail_place_address.retail_place_id. I need to create a method which returns RetailPlace object with RetailPlaceAddress in it.
I tried to get RetailPlaceAddress first, and then to place it in RetailPlace object which I get next, but it didn't worked:
public static Uni<RetailPlace> get(PgPool client, long id){
return client.preparedQuery("select * from retail_place_address where retail_place_id = $1")
.execute().onItem().transform(RowSet::iterator)
.onItem().transform(iterator -> iterator.hasNext() ? RetailPlaceAddress.from(iterator.next()) : null).onItem()
.transform(retailPlaceAddress -> new RetailPlace(client.preparedQuery("select * from retail_place where id = $1").execute()
.onItem().transform(pgRowSet -> new RetailPlace(pgRowSet.iterator().next().getLong("id"), pgRowSet.iterator().next().getString("title"), retailPlaceAddress))));
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论