0

美好的一天,伙计们。我有 DAO 方法来删​​除一些文件。

@Override
    public void deleteFormDescription(Date formDate, String institutionName) {

        Session session = sessionFactory.getCurrentSession();

        Integer dateId = fetchDateId(formDate);
        Integer institutionId = fetchInstitutionId(institutionName);

            if(dateId == null && institutionId == null) {
                throw new UnexpectedRollbackException("Transaction will roll back because, dateId: " + dateId + " and institutionId: " + institutionId);
            }

        try {

            FormDescription formDescription = (FormDescription)session.createCriteria(FormDescription.class, "formDescription")
                                                                        .createAlias("formDescription.institutions", "institution").add(Restrictions.eq("institution.institutionId", institutionId))
                                                                                    .createAlias("formDescription.formDate", "formDate").add(Restrictions.eq("formDate.dateId", dateId)).uniqueResult();
            session.delete(formDescription);
            session.flush();

        } catch(RuntimeException e) {       
            throw new UnexpectedRollbackException("Transaction will roll back because " +
                                                                " method deleteFormDescription(Date formDate, String institutionName) could not delete an FormDescription");
        }

    }

在我的控制器中,我有:

@RequestMapping(value="/deleteprocessing", method=RequestMethod.GET)
public String deleteProcessing(@RequestParam String particularDate,
                               @RequestParam String institutionName) throws Exception {

            educationWebService.deleteFormDescriptionService(dateConvertation(particularDate), institutionName);    

    return "redirect:/delete";
}

我需要在 JSP 页面上呈现此方法,该页面将他的删除文件归档。是否有可能做到这一点?感谢你们。

4

1 回答 1

1

当然有可能。删除后,保留已删除的 FormDescription 实体对象的分离实例,并将其传递给您的 JSP 进行显示。

请记住,一旦您的事务提交并且 Hibernate 会话关闭,您的实体对象就(应该)处于分离状态。

于 2013-07-26T05:50:16.827 回答