java-JPA / Spring Roo:当从持久性存储中删除实体时,是否有一个析构函数事件被调用?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-JPA / Spring Roo:当从持久性存储中删除实体时,是否有一个析构函数事件被调用?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含666字,纯文字阅读大概需要1分钟。
内容图文
![java-JPA / Spring Roo:当从持久性存储中删除实体时,是否有一个析构函数事件被调用?](/upload/InfoBanner/zyjiaocheng/656/6754c8388d1643eab3fbae14e5dbe768.jpg)
我有一个Image实体(Spring Roo / JPA),它引用存储在文件系统中的图像.从持久性存储中删除Image实体时,我希望删除那些文件.
我可以在每个Image实体上编写一个手动的remove()方法,使它删除自身及其引用的文件,但是只有在使用该方法手动删除图像时,该方法才有效.当删除拥有的实体时,或者通过调用其上的entityManager.remove()来删除图像时,显然不会触发图像.
从数据库中删除实体时,是否有任何类型的方法或事件被调用?
解决方法:
就在这里.通常,这些方法称为lifecycle callback methods.您需要使用post remove回调方法.可以将其定位到单独的类(然后通过@EntityListeners批注进行引用),或直接定位到您的实体:
@PostRemove
protected void postRemoveOperations() {
//remove images here
}
或根据细节,@PreRemove可能更有用.
内容总结
以上是互联网集市为您收集整理的java-JPA / Spring Roo:当从持久性存储中删除实体时,是否有一个析构函数事件被调用?全部内容,希望文章能够帮你解决java-JPA / Spring Roo:当从持久性存储中删除实体时,是否有一个析构函数事件被调用?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。