View Javadoc
1   package io.extact.rms.application.persistence.jpa;
2   
3   import io.extact.rms.application.domain.UserAccount;
4   import io.extact.rms.application.persistence.GenericRepository.ApiType;
5   import io.extact.rms.application.persistence.UserAccountRepository;
6   import io.extact.rms.platform.extension.EnabledIfRuntimeConfig;
7   import jakarta.enterprise.context.ApplicationScoped;
8   import jakarta.persistence.EntityManager;
9   import jakarta.persistence.NoResultException;
10  import jakarta.persistence.PersistenceContext;
11  
12  @ApplicationScoped
13  @EnabledIfRuntimeConfig(propertyName = ApiType.PROP_NAME, value = ApiType.JPA)
14  public class UserAccountJpaRepository extends JpaCrudRepository<UserAccount> implements UserAccountRepository {
15  
16      @PersistenceContext
17      private EntityManager em;
18  
19      @Override
20      public UserAccount findByLoginIdAndPasswod(String loginId, String password) {
21          var jpql = "select u from UserAccount u where u.loginId = ?1 and u.password = ?2";
22          try {
23              return em.createQuery(jpql, UserAccount.class)
24                          .setParameter(1, loginId)
25                          .setParameter(2, password)
26                          .getSingleResult();
27          } catch (NoResultException e) {
28              return null;
29          }
30      }
31  
32      @Override
33      public UserAccount findByLoginId(String loginId) {
34          var jpql = "select u from UserAccount u where u.loginId = ?1";
35          try {
36              return em.createQuery(jpql, UserAccount.class)
37                          .setParameter(1, loginId)
38                          .getSingleResult();
39          } catch (NoResultException e) {
40              return null;
41          }
42      }
43  
44      @Override
45      public EntityManager getEntityManage() {
46          return this.em;
47      }
48  
49      @Override
50      public Class<UserAccount> getTargetClass() {
51          return UserAccount.class;
52      }
53  }