У меня есть традиционное приложение Spring Hibernate MVC. мы также используем Spring @Transactional.
В одном из методов службы у меня есть Java DTO, и я хочу, чтобы он был доступен в методе onPostUpdate прослушивателя объектов спящего режима. Какие варианты будут доступны? Мы попробовали временную переменную, прикрепленную к самой сущности, или использовали ehcache для хранения DTO в методе службы и возврата DTO в метод onPostUpdate прослушивателя сущности. Ниже приведен пример кода. Спасибо
@Entity
@Table(name = "USER")
@EntityListeners(UserEntityListener.class)
public class User implements Serializable {
private static final long serialVersionUID = -521980005983L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
}
public class UserEntityListener {
@PostUpdate
public void onPostUpdate(User user) {
/*
Need some DTO here to read some data
That DTO is available in spring @Transactional method, where entity is updated
*/
}
}
@Service
public class UserSvcImpl {
@Transactional
public User handleUserInfo(UserDTO user, OrderDTO order) {
/*
I am persisting User entity here .Along with that, i want OrderDTO present here to be availabe when UserEntityListener is executing onPostUpdate()
*/
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ost-update