问题的提出:
我们太懒了,通常从数据表中删除一条附件信息后,没有删除磁盘中对应的物理文件。
实现方案:
1、写一个标识接口,用来申明该实体关联有物理文件。
/**
* @author Li Tonggang
* 该接口通常被实体对象继承,标识对象与文件系统有关联,
* 比如:附件对象
* 该接口通常和AttachDelListener协作删除文理文件。
*/
public interface FSEntitySupport {
/**
* @return 文件的绝对路径
*/
public String[] getFilePath();
}
2、写一个Hibernate删除事件监听器,通过标识接口FSEntitySupport判断当前实体,是否需要删除物理文件操作。
/**
* @author Li Tonggang
* 删除附件对象时,自动删除与之关联的物理文件。
* 实体须实现接口 FSEntitySupport
*/
public class AttachDelListener implements PostDeleteEventListener {
public void onPostDelete(PostDeleteEvent arg0) {
Object entity = arg0.getEntity();
if(entity instanceof FSEntitySupport){
FSEntitySupport fsEntity = (FSEntitySupport)entity;
String[] pathArray = fsEntity.getFilePath();
if(pathArray == null)
return;
for(String path : pathArray){
File file = new File(path);
if(file.exists())
file.delete();
}
}
}
}
3、注册监听器
<property name="eventListeners">
<map>
<entry key="post-delete">
<bean class="common.hibernate.AttachDelListener"/>
</entry>
</map>
</property>
分享到:
相关推荐
【描述】虽然描述为空,但我们可以推测,这篇博文可能讲述了如何利用某些工具或方法自动化生成Hibernate的映射文件,从而提高开发效率并减少错误。 【标签】:“源码”和“工具”表明这篇内容可能涉及到具体的代码...
本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识点。 **一、Hibernate概述** Hibernate是Java平台上的一个开源框架,它的主要功能是提供一种映射机制,将Java类与数据库表进行对应,...
本篇文章将详细介绍如何利用Hibernate中的`SchemaExport`工具来自动生成数据库表,以此来简化数据库设计过程,提高开发效率。 首先,我们需要了解Hibernate的逆向工程(Reverse Engineering)。在传统的开发流程中...
在本教程中,我们将探讨如何利用Hibernate的注解功能,通过实体类自动生成数据库中的表。这极大地简化了数据库建模过程,同时也减少了手动编写SQL语句的工作量。 首先,我们需要理解Hibernate的核心概念。ORM框架如...
接下来,我们将利用Hibernate的逆向工程功能来自动生成配置文件。选择数据表`t_user`,右键点击后选择“Hibernate Reverse Engineering”。在向导中,配置Hibernate的实体类名称、包名等信息,然后指定主键生成策略...
4. 在使用 MyEclipse 自动生成 Hibernate 映射文件和实体类时,需要创建数据库连接和相应的表,然后选择需要添加 Hibernate 映像文件的工程,最后进行反转工程操作。 使用 MyEclipse 自动生成 Hibernate 映射文件和...
总之,本示例展示了如何利用Hibernate ORM框架与Oracle数据库协同工作,自动化处理数据库表的创建,这对于简化开发流程、提高开发效率具有重要意义。理解并熟练掌握这一技术,对于Java开发者来说是提升技能的重要...
7. **安全性与最佳实践**:虽然使用Hibernate自动生成数据库文件可以快速启动项目,但要注意这可能会导致数据丢失,因为`create`操作会删除已有数据。在生产环境中,通常推荐使用`update`或`validate`,并且在实际...
"Hibernate自动生成持久化类和映射文件"这个话题主要涉及如何利用myEclipse这款集成开发环境的反向工程功能,快速地根据数据库中的表结构生成对应的Hibernate配置文件、映射文件以及持久化类。下面将详细介绍这一...
通过简单的界面操作,开发者可以选择数据库表,工具会自动分析表结构,生成对应的Java实体类,同时创建相应的Hibernate配置文件,如`hibernate.cfg.xml`和`mapping.xml`。这极大地减少了手动编写代码的时间,确保了...
Hibernate 反向工程是指使用 Hibernate 工具将数据库表结构反向生成对应的 Entity 类和 hbm.xml 文件的过程。这种方法可以大大简化开发过程,提高开发效率。 二、 Hibernate 反向工程的步骤 1. 切换到 MyEclipse ...
Hibernate映射文件是XML格式的文件,它定义了数据库表与Java实体类之间的对应关系,包括字段映射、主键策略、关联关系等。映射文件让开发者无需编写SQL语句,就能通过Java对象进行数据库操作。 2. **MyEclipse ...
- 完成向导,MyEclipse将自动生成`hibernate.cfg.xml`配置文件、对应的Java Bean类(POJO)以及`.hb.xml`映射文件。 6. **测试代码**: - 创建一个测试类,例如`HibernateTest`,使用以下代码来验证配置是否正确...
通过myeclipse自动生成Hibernate类文件和hbm.xml文件,链接数据库库自动生成
通过这些注解和配置,开发者可以快速地建立Java对象与数据库表之间的映射,并利用Hibernate自动创建数据库表,大大提高了开发效率。在实际项目中,结合Spring等框架,可以实现更高效、便捷的数据库操作。 在提供的...
而“Hibernate代码自动生成”则是指利用Hibernate的工具或者第三方库,自动生成与数据库表对应的Java实体类、DAO(数据访问对象)层、Service层以及相关的SQL语句,从而减少手动编写这些重复性代码的工作量,提高...
其中,Hibernate的自动生成功能是其一大亮点,它能够帮助开发者快速构建与数据库表对应的Java实体类以及DAO(Data Access Object)层的接口和实现,极大地提高了开发效率。本文将详细介绍如何在MyEclipse环境中利用...
本文将深入探讨如何利用Hibernate的映射文件来生成数据库,以此提高开发效率并减少手动创建数据库表的工作量。 一、Hibernate映射文件概述 Hibernate映射文件,通常以`.hbm.xml`为扩展名,是Hibernate用来定义Java...
在本教程中,我们将探讨如何在MyEclipse环境下利用Hibernate工具自动生成DAO(数据访问对象)、POJO(Plain Old Java Object)以及配置文件。 首先,我们需要确保MyEclipse已经集成了Hibernate支持。这可以通过右键...