@Transactional
 public void updateNotebook(Notebook notebook) {
   if (notebook.isDefault()) {
     setDefaultNotebook(notebook.getId());
   }
   notebookDAO.updateNotebook(notebook);
 }
 @Transactional
 public void setDefaultNotebook(Integer newDefaultId) {
   Notebook oldDefault = notebookDAO.getDefaultNotebook();
   Notebook newDefault = loadNotebook(newDefaultId);
   newDefault.setDefault(true);
   notebookDAO.updateNotebook(newDefault);
   if (oldDefault != null && oldDefault.getId() != newDefaultId) {
     oldDefault.setDefault(false);
     notebookDAO.updateNotebook(oldDefault);
   }
 }
 @Transactional
 public Notebook loadNotebookWithNotes(Integer id) {
   Notebook notebook = notebookDAO.loadNotebook(id);
   Hibernate.initialize(notebook.getNotes());
   return notebook;
 }