[英]JPA OneToOne mappedBy
I have a class InvitedTech
. 我上了
InvitedTech
。
public class InvitedTech{
...
@OneToOne(mappedBy="invitedTech", cascade = CascadeType.ALL, fetch=FetchType.LAZY)
public Flight flight;
@OneToOne(mappedBy="invitedTech", cascade = CascadeType.ALL, fetch=FetchType.LAZY)
public Hotel hotel;
...
}
When I write a query to this table like this... 当我像这样向该表查询时...
List<InvitedTech> invT = JPA.em().createQuery("SELECT inv from InvitedTech inv").getResultList();
I get multiple select statements executed for each row that is in the invitedTech table. 我收到了对vitedTech表中的每一行执行的多个选择语句。 So for example I have 11 rows and after running that one query its like..
因此,例如,我有11行,运行完一个查询后,它就好..
13:09:26,350 DEBUG ~ select invitedtec0_.id as id184_, invitedtec0_.comments as comments184_, invitedtec0_.confirmedBy as confirm11_184_, invitedtec0_.confirmedDate as confirme3_184_, invitedtec0_.contractor as contractor184_, invitedtec0_.flightNeeded as flightNe4_184_, invitedtec0_.hotelNeeded as hotelNee5_184_, invitedtec0_.inviteDate as inviteDate184_, invitedtec0_.method as method184_, invitedtec0_.payRate as payRate184_, invitedtec0_.paymentItem_id as payment13_184_, invitedtec0_.replyDate as replyDate184_, invitedtec0_.status as status184_, invitedtec0_.techRequirement as techReq14_184_ from InvitedTech invitedtec0_
13:09:26,354 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,355 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,357 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,357 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,358 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,359 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,360 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,361 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,362 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,362 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,363 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,364 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,364 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,365 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,366 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,367 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,367 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,368 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,370 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,371 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
13:09:26,372 DEBUG ~ select flight0_.id as id156_1_, flight0_.airline as airline156_1_, flight0_.confirmationNumber as confirma3_156_1_, flight0_.departure as departure156_1_, flight0_.flightNumber as flightNu5_156_1_, flight0_.invitedTechId as invitedT7_156_1_, flight0_.terminal as terminal156_1_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_ from Flight flight0_ inner join InvitedTech invitedtec1_ on flight0_.invitedTechId=invitedtec1_.id where flight0_.invitedTechId=?
13:09:26,372 DEBUG ~ select hotel0_.id as id189_2_, hotel0_.address as address189_2_, hotel0_.checkinTime as checkinT3_189_2_, hotel0_.confirmationNumber as confirma4_189_2_, hotel0_.invitedTechId as invitedT7_189_2_, hotel0_.name as name189_2_, hotel0_.phone as phone189_2_, invitedtec1_.id as id184_0_, invitedtec1_.comments as comments184_0_, invitedtec1_.confirmedBy as confirm11_184_0_, invitedtec1_.confirmedDate as confirme3_184_0_, invitedtec1_.contractor as contractor184_0_, invitedtec1_.flightNeeded as flightNe4_184_0_, invitedtec1_.hotelNeeded as hotelNee5_184_0_, invitedtec1_.inviteDate as inviteDate184_0_, invitedtec1_.method as method184_0_, invitedtec1_.payRate as payRate184_0_, invitedtec1_.paymentItem_id as payment13_184_0_, invitedtec1_.replyDate as replyDate184_0_, invitedtec1_.status as status184_0_, invitedtec1_.techRequirement as techReq14_184_0_, flight2_.id as id156_1_, flight2_.airline as airline156_1_, flight2_.confirmationNumber as confirma3_156_1_, flight2_.departure as departure156_1_, flight2_.flightNumber as flightNu5_156_1_, flight2_.invitedTechId as invitedT7_156_1_, flight2_.terminal as terminal156_1_ from Hotel hotel0_ inner join InvitedTech invitedtec1_ on hotel0_.invitedTechId=invitedtec1_.id left outer join Flight flight2_ on invitedtec1_.id=flight2_.invitedTechId where hotel0_.invitedTechId=?
How would I fix this? 我该如何解决? If I write my own SQL I can do this in one statment using
in
keyword. 如果我编写自己的SQL,则可以使用
in
关键字在一项声明中执行此操作。 I have tried different things like @BatchSize(size = 20)
so that it fetches 20 records at a time, I have tried using @Fetch(FetchMode.JOIN)
but all tries have not worked. 我尝试了类似
@BatchSize(size = 20)
以便一次获取20条记录,我尝试使用@Fetch(FetchMode.JOIN)
但所有尝试均无效。 Is there a I can change so only 1 query get executed? 是否可以更改,以便仅执行1个查询?
If I remove the mappedBy from the annotations that removes the additional queries, but then I am unable to access those properties, because object does not know about the relationship. 如果我从删除其他查询的注释中删除了appedBy,但是由于对象不了解这种关系,我将无法访问这些属性。
为了避免出现n + 1问题,您可以尝试使用JOIN FETCH
查询,如下所示(未经测试):
SELECT inv from InvitedTech inv LEFT JOIN FETCH inv.flight LEFT JOIN FETCH inv.hotel
You could use the @JoinFetch
or @BatchFetch
annotations on the flight
and hotel
objects if you would like your queries to fetch those relations in all queries performed. 如果希望查询在所有执行的查询中获取这些关系,则可以在
flight
和hotel
对象上使用@JoinFetch
或@BatchFetch
批注。
Alternatively you could use a query hint to fetch those relations on a per-query basis. 或者,您可以使用查询提示在每个查询的基础上获取这些关系。
Examples of all these are in this blog post . 所有这些示例都在此博客文章中 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.