Mysql JPA一对一映射FetchType.LAZY不工作
我有两个实体,如下所示Mysql JPA一对一映射FetchType.LAZY不工作,mysql,jpa,Mysql,Jpa,我有两个实体,如下所示 @Entity @Table(name = "ticket") public class Ticket { @OneToOne(fetch=FetchType.LAZY, targetEntity = com.vahana.entity.TicketBookingAdditionalInfo.class, mappedBy = "ticket", cascade = CascadeType.MERGE) private TicketBookingAddi
@Entity
@Table(name = "ticket")
public class Ticket {
@OneToOne(fetch=FetchType.LAZY, targetEntity = com.vahana.entity.TicketBookingAdditionalInfo.class, mappedBy = "ticket", cascade = CascadeType.MERGE)
private TicketBookingAdditionalInfo ticketBookingAdditionalInfo;
}
@Entity
@Table(name = "ticket_booking_additional_info")
public class TicketBookingAdditionalInfo {
/** The ticket. */
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
@JoinColumn(name = "ticket_id", columnDefinition = "BIGINT UNSIGNED")
private Ticket ticket;
}
我的票务表包含40000多条记录,但票务预订附加信息没有任何数据。仅当我要添加其他信息时,此表才会包含数据
在选择ticket table时,它会加入ticket\u booking\u additional\u info表,并且该查询需要更多的时间
我在@OneToOne中添加了fetch=FetchType.LAZY,但仍然需要很长时间才能响应。这是我数据库中最耗时的查询。如何避免这个问题。请有人指导我
我正在使用mysql数据库,@Entity
@Entity
@Table(name = "ticket")
public class Ticket {
//Default is lazy
@OneToMany(mappedBy = "ticket", cascade = CascadeType.MERGE)
private List<TicketBookingAdditionalInfo> ticketBookingAdditionalInfo;
}
@Entity
@Table(name = "ticket_booking_additional_info")
public class TicketBookingAdditionalInfo {
// The ticket.
//Default is eager
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
@JoinColumn(name = "ticket_id", columnDefinition = "BIGINT UNSIGNED")
private Ticket ticket;
}
@表(name=“ticket”)
公务舱票{
//默认值是懒惰的
@OneToMany(mappedBy=“ticket”,cascade=CascadeType.MERGE)
私人列表票务预订附加信息;
}
@实体
@表(name=“机票预订附加信息”)
公共类票务预订附加信息{
//票。
//违约迫在眉睫
@manytone(fetch=FetchType.LAZY,cascade=CascadeType.MERGE)
@JoinColumn(name=“ticket\u id”,columnDefinition=“BIGINT UNSIGNED”)
私家票;
}
注意
如果你有一个多音,逆关系是一个多音;如果你有一个多音,逆关系是一个多音。您应该看到教程
- 举例
- 举例
- 举例