在Java中作为定期/计划作业删除某些数据
我在使用Spring和Hibernate框架的Java项目中工作。使用的数据库是Oracle,应用服务器是JBoss 4,操作系统是Unix 我必须编写一个逻辑,从所有超过180天的表中删除数据。在特定的表中有一个日期列,我必须使用它来确定它是否超过180天。如果是,我将不得不删除该表中的所有行以及任何其他表中的任何关联行。我可以使用hibernate从表中删除此类数据 此功能将被安排,即删除逻辑将在某个周期性时间调用,可能是每天下午3:00,客户机将很快通知我的确切时间。此逻辑必须与我通常对实际项目源代码进行的应用程序战争分开 我在编写将删除数据的持久性相关代码时没有任何问题,但我不知道如何在JBoss中单独放置此逻辑。我要把代码做成jar并放到JBoss中吗?以及如何调用delete逻辑?我是否需要配置/编写一些执行此任务的计划程序在Java中作为定期/计划作业删除某些数据,java,spring,hibernate,jboss,scheduler,Java,Spring,Hibernate,Jboss,Scheduler,我在使用Spring和Hibernate框架的Java项目中工作。使用的数据库是Oracle,应用服务器是JBoss 4,操作系统是Unix 我必须编写一个逻辑,从所有超过180天的表中删除数据。在特定的表中有一个日期列,我必须使用它来确定它是否超过180天。如果是,我将不得不删除该表中的所有行以及任何其他表中的任何关联行。我可以使用hibernate从表中删除此类数据 此功能将被安排,即删除逻辑将在某个周期性时间调用,可能是每天下午3:00,客户机将很快通知我的确切时间。此逻辑必须与我通常对实
有人能帮我解决这个问题吗?Java/Hibernate不适合“自然”式的处理:当您试图使用Hibernate进行“事务性”更新之外的更新时,它会出现严重的性能和复杂性问题 最好的方法是编写一个执行该工作的SQL脚本,然后使用O/S任务调度器计划其执行:if*nix,if-windows。您将能够在很短的时间内完成您的任务,而且它的性能将超过任何java/hibernate方法,特别是因为您可以控制锁定、提交等 我所见过的每一个产品安装都是这样做的,它们都是通过
cron
来实现的
你几乎可以用任何一种语言做任何事情,但仅仅因为你能用一种语言/技术做一些事情,并不意味着这是一个好主意。看一看。这是一个相对容易使用的Java调度器。你应该能够很快地启动并运行它