我有一个带有 Spring JPA 的休眠实现的 Spring Boot Web 应用程序。我使用连接列注释在我的实体之间建立了一对多关系。为此,技术实体有一个成员,即 List。我已将此列表标记为延迟初始化。一切都很好,但是一旦控件移出控制器,hibernate 就会在没有调用它的情况下触发对惰性集合(List)的调用。这会导致加载网页的巨大延迟。不知道为什么休眠会在控制器范围之外触发延迟集合。我尝试过使用 Hibernate.initialize 和 Maven 字节码增强插件,但似乎没有任何效果。请帮忙
实体
@Entity
@Table(name="EmergentTechnologies")
public class EmergentTechnology implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ID")
private int id;
@OneToMany
@JoinColumn(name="ETID")
@Basic(fetch = FetchType.LAZY)
private List<Artifact> artifacts;
@Entity
@Table(name="Artifacts")
public class Artifact implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ID")
private int id;
@Column(name="Analyst")
private String analyst;
@Column(name="ArtifactType")
private String artifactType;
应用程序属性
spring.mvc.favicon.enabled=false
logging.level.com.boeing.etl=INFO
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.generate-ddl=false
spring.jpa.show-sql=true
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
SMILET
慕的地10843
相关分类