J'essaie de faire des opérations CRUD avec le bean My Entity. CRUDRepository
fournit des méthodes standard aux find
, delete
et save
, mais il n’existe pas de méthode générique comme saveOrUpdate(Entity entity)
qui appelle à son tour les méthodes Hibernate
ou HibernateTemplate
sessions saveorUpdate()
.
La façon dont CRUDRepository
fournit cette fonctionnalité est de Utiliser comme ceci
@Modifying
@Query("UPDATE Space c SET c.owner = :name WHERE c.id = :id")
Integer setNameForId(@Param("name") String name, @Param("id")
mais ceci n'est pas générique et doit être écrit pour des champs de formulaire complets .. S'il vous plaît, laissez-moi savoir s'il existe un moyen ou je peux obtenir une session d'Hibernate ou un objet de Spring HibernateTemplate pour résoudre ce problème.
J'ai eu la solution, la solution est d'utiliser @ModelAttribute pour convertir le bean de forme en entité.
@ModelAttribute("spaceSummary")
public SpaceSummary getSpaceSummary(int id){
return this.spaceSummaryService.getSpaceSummary(id);
}
et
@RequestMapping(value="/mgr/editSpace", method = RequestMethod.POST)
public ModelAndView editSpace(@ModelAttribute("spaceSummary") SpaceSummary
spaceSummary, BindingResult result, RedirectAttributes redirect, ModelAndView model) {
}