Spring HibernateTemplate - содержит / находит / получает значение по имени класса и не-ID-параметру - PullRequest
1 голос
/ 06 мая 2011

Для справки смотрите http://singgihpraditya.wordpress.com/2010/02/13/spring-3-0-and-hibernate-tutorial-part-1/

@Entity
@Table(name="USER")
public class User implements Serializable {
        private Long id;
    private String name;
private String password;

@Id
@GeneratedValue
@Column(name="USER_ID")
public Long getId() {
    return id;
}
public void setId(Long id) {
    this.id = id;
}

    private HibernateTemplate hibernateTemplate;

    @Autowired
    public void setSessionFactory(SessionFactory sessionFactory) {
        this.hibernateTemplate = new HibernateTemplate(sessionFactory);
    }

вышеприведенная часть представляет собой код из 2 файлов, просто чтобы дать вам некоторый код, поскольку люди здесь любят его просить

важная часть:

@Override
public User getUser(Long id) {
    return hibernateTemplate.get(User.class, id);

}

Как мы видим, получить пользователя по его идентификатору просто ... Я хочу: я уверен, что это легко, я просто не знаю как, и я знаю, что есть альтернативный способ получить всех пользователей в List<User> и искать с помощью for(..), но я не хочу таким образом элегантный способ.

* вернуть пользователя по имени

* вернуть true / false, если пользователь существует по имени

Ответы [ 2 ]

2 голосов
/ 06 мая 2011

Вам нужны запросы для поиска сущностей. Прочитайте руководство пользователя по запросам . На этой же странице находится целый раздел о HQL, языке запросов, используемом для написания запросов.

1 голос
/ 06 мая 2011

Это что-то вроде этого, все больше и меньше:

String sqlQuery =" from User
 as user where user.name=:name";

Query query = session.createQuery
(SQL_QUERY);

query.setString("name",name);

List<User>  = query.list();

Подробнее см. В этой главе

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#queryhql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...