gpt4 book ai didi

java - 如何在 PrePersist 注释中使用 JPARepository?

转载 作者:行者123 更新时间:2023-11-29 13:39:25 25 4
gpt4 key购买 nike

我有一个事务性警报表和一个主警报类型表。我想在表中添加警报时发送一封电子邮件,所以我想我会使用 PrePersist。但是,在我的电子邮件中,我想包含一些包含在警报类型表中的信息。

我试图在 Alert 类中添加对 AlertTypeRepository 的引用,但我不能,因为我的警报类是 @Table 而 alertTypeRepository 不是列。

下面是我的 Alert 类

@Entity 
@Table
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Alert {
@Id
@GeneratedValue
int id;
@Column
String name;
@Column
String alertTypeId;
@Column
String detailedMessage;
@Column
String status;
@Temporal(TemporalType.TIMESTAMP)
Date time;
}

下面是我的 AlertType 类

@Entity 
@Table
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class AlertType {
@Id
@GeneratedValue
int id;
@Column
String name;
@Column
String header;
@Column
String footer;
@Column
String summary;
@Column
String deliveryType;
@Column
Boolean active ;
@Column
String recipients;
}

我希望在 Alert 类中有一个 PrePersist 函数。这使我可以从 AlertType 类访问其相应的页眉和页脚。

最佳答案

我想出了一个解决方案,所以我希望这能帮助面临类似问题的任何人。基本上,我必须为 Alert 类创建一个 EntityListener,然后添加以下类。

@Component
public class AlertListener {

static AlertTypeRepository alertTypeRepository;

@Autowired
public void init(AlertTypeRepository alertTypeRepository)
{
this.alertTypeRepository = alertTypeRepository;

}

@PrePersist
public void prePersist(Alert alert) {
List<AlertType> alertType= this.alertTypeRepository.findAll();

}
}

关于java - 如何在 PrePersist 注释中使用 JPARepository?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57526646/

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