2010-03-05 5 views
2

У меня есть класс DAO, который я использую, чтобы попробовать выбрать/обновить/вставить с помощью спящего режима и базы данных Mysql. Я сейчас методы эти письма, я уже писал вставку так:Вопрос о hibernate-spring-dao

public Long save(People transientInstance) { 
     log.debug("Saving People instance"); 
     try { 
      Long id = (Long)getHibernateTemplate().save(transientInstance); 
      log.debug("save successful with id #" + id); 
      return id; 
     } catch (RuntimeException re) { 
      log.error("save failed", re); 
      throw re; 
     } 
    } 

У меня есть 3 колонки, одна id, второй является name, третий является surname. Используя ту же логику, как я могу получить человека по ID или обновить человека. Теперь я могу удалить писал также:

public void delete(People persistentInstance) { 
     log.debug("deleting People instance"); 
     try { 
      getHibernateTemplate().delete(persistentInstance); 
      log.debug("delete successful"); 
     } catch (RuntimeException re) { 
      log.error("delete failed", re); 
      throw re; 
     } 
    } 

я мог удалить или обновить, если я мог бы получить человек объектные ID, но я не знаю, как. Спасибо (да, я пытаюсь изучить java-spring-hibernate go easy on me pls)

ответ

0

Я думаю, что вы действительно спрашиваете (не понимая этого): «Как я могу запросить произвольные неидентификационные поля с Hibernate?».

Вы должны взглянуть на the chapter in the reference manual about using HQL (Hibernate Query Language), который позволит вам это сделать.

+0

б @ Matt я пошел trought это и до сих пор ничего .. вы, возможно, что-то больше от нуля .. это кажется довольно продвинутый мне – ant

1

Похоже, что вы хотите сделать что-то вроде этого:

public void updatePeople(Long id, String surname) { 
    People p = getHibernateTemplate().get(People.class, id) 
    p.setSurname(surname); 
    getHibernateTemplate().update(p); 
}