向实体对象注入服务

我想在持久化或更新之前设置实体列的值。为此,我想注入一个服务。

@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