gpt4 book ai didi

java - 如何在 Spring Data JPA 中查找具有 OneToMany 关系的 cortege

转载 作者:行者123 更新时间:2023-11-30 02:52:00 25 4
gpt4 key购买 nike

我使用 Spring Data JPA 并有两个实体:

@Entity
@Data
@Table(name="vehicle_entity")
public class Vehicle {
@Id
@GeneratedValue
private Integer id;
private String type;
private String vehicleRegNumber;
@OneToMany(targetEntity = com.transport.model.BookedTime.class, fetch=FetchType.EAGER)
@JoinColumn(name="bookingTime", referencedColumnName="id")
Set<BookingTime> bookingTime;
}

@Entity
@Data
@Table(name="booked_time")
public class BookedTime {
@Id
@GeneratedValue
Integer id;
Long startPeriod;
Long finishPeriod;

}

和存储库:

public interface VehicleRepository extends JpaRepository<Vehicle, Integer> {

@Query("correct query")
List<Vehicle> findAllByPeriod(@Param("startPeriod") int startPeriod, @Param("endPeriod") int endPeriod);
}

我需要查找未按时间预订的可用车辆。我怎样才能做到这一点?

最佳答案

我会选择类似的东西:

 @Query(nativeQuery=true, value = "select * from vehicle_entity v join booked_time b on b.vehicle = v.id where not (b.startPeriod > :startPeriod and b.endPeriod < :endPeriod)"

顺便说一句,我认为您可能想尝试将 bookingTime 的 FetchType 从 EAGER 更改为 LAZY,然后使用 join fetch 在选择查询中。

关于java - 如何在 Spring Data JPA 中查找具有 OneToMany 关系的 cortege,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38358289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com