我有一个实体,其中定义了EntityListerner。在enity侦听器类中,我使用依赖项注入来检索负责另一个逻辑类的值。运行单元测试时,实体侦听器的prepersist方法失败,因为无法解析注入的类。 我使用J2EE 8和JUnit5。
我的实体类的简短版本如下:
@Table(name = "intent")
@Entity
@EntityListeners(value = IntentEnityListener.class)
public class Intent extends AbstractEntity {
private String fileNumber;
@Column(name = "file_number", nullable = false, unique = true, length = 64)
public String getFileNumber() {
return fileNumber;
}
}
EntityListener类看起来像
public class IntentEnityListener {
@Inject
private SettingRepository settingRepository;
@PrePersist
public void onPrePersist(@NotNull final Intent intent) {
int nextSequencedNumber = settingRepository.getNextSequencedNumber();
intent.setFileNumber(nextSequencedNumber);
}
}
当我运行JUnit测试时,注入的属性settingRepository
始终为null
。因为这是一个实体生命周期回调,所以我不知道如何以正确的方式模拟它。
可以模拟生命周期回调类吗?