【发布时间】:2021-02-21 14:08:45
【问题描述】:
我有一个简单的实体Configuration,它有一个 ID 和一个字符串属性。
@Data
@AllArgsConstructor
@NoArgsConstructor
@Wither
@Entity
@Table(name = "CONFIGURATION")
public class Configuration {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private Long id;
@Column(name = "CONFIG_OBJECT")
private String configItem1;
}
我有简单的 JPA 存储库
public interface ConfigurationRepository extends JpaRepository<Configuration, Long> {
}
在 Cucumber 测试中,我尝试访问该字段
final Configuration configuration = configurationRepository.getOne(1L);//id 1 exists
configuration.getConfigItem1(); //the exception is thrown here
但是我遇到了这个异常
could not initialize proxy [com.mk.myapp.model.Configuration#1] - no Session
我假设属性configItem1 正在被延迟加载,但为什么呢?当我在关系中有一些实体时,我会预料到这一点,但是为什么要延迟加载 String 属性?
【问题讨论】:
标签: java hibernate spring-data