UserDao.java
2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package net.ziemers.swxercise.db.dao.user;
import net.ziemers.swxercise.db.dao.GenericDao;
import net.ziemers.swxercise.lg.model.user.User;
import javax.ejb.Stateless;
/**
* Stellt Persistenz-Funktionalität im Kontext der Benutzerverwaltung
* zur Verfügung.
*
* Copyright (c) 2017 Dipl.-Inform. Thomas Ziemer
*
* This file is part of swXercise.
*
* swXercise is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* swXercise is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with swXercise.
* If not, see <http://www.gnu.org/licenses/>.
*/
@Stateless
public class UserDao extends GenericDao {
/**
* Findet einen {@link User} aufgrund seiner Id.
*
* @param id die Id des gewünschten Users
* @return den User oder <code>null</code>, falls es keinen gibt.
*/
public User findById(final Long id) {
User user = null;
try {
// ermittelt den ersten Datensatz mit der gesuchten Id, auch wenn
// er sich nicht im Persistence Context befindet
user = (User) entityManager.createNamedQuery("User.findById")
.setParameter("id", id).getSingleResult();
} catch (Exception e) {
/* nix */
}
return user;
}
/**
* Findet einen {@link User} aufgrund seines Benutzernamens.
*
* @param username der username des gewünschten Benutzers
* @return den User oder <code>null</code>, falls es keinen gibt.
*/
public User findByUsername(final String username) {
User user = null;
try {
// ermittelt den ersten Datensatz mit dem gesuchten Benutzernamen,
// auch wenn er sich nicht im Persistence Context befindet
user = (User) entityManager.createNamedQuery("User.findByUsername")
.setParameter("username", username).getSingleResult();
} catch (Exception e) {
/* nix */
}
return user;
}
}