我想在持久化或更新之前设置实体列的值。为此,我想注入一个服务。
@Entity
@Configurable(autowire=Autowire.BY_TYPE)
@Table(name="WARD")
public class Ward {
@Column(name = "HOSPITAL_ID")
private Long hospitalId;
@Transient
@Autowired
private HospitalService hospitalService;
public Long getHospitalId() {
return hospitalId;
}
public void setHospitalId(Long hospitalId) {
this.hospitalId = hospitalId;
}
@PreUpdate
@PrePersist
private void preUpdatePersist(){
if(hospitalId == null && hospitalService != null)
hospitalId = hospitalService.getSelectedHospital().getId();
}}
这就是我在互联网上找到的方法。但这并不会影响new Ward()
的创建。如何向实体注入服务。
这是spring版本4.3.10,hibernate 4.2.7
转载请注明出处:http://www.intrusion-fire.net/article/20230329/1615367.html