[SPRING] Hibernate에서 '@'문자로 어려움을 겪고있는 Hibernate
SPRINGHibernate에서 '@'문자로 어려움을 겪고있는 Hibernate
최대 절전 모드 및 스프링 썬과의 협력을 통해,
전자 메일 주소로 데이터베이스를 쿼리하려고합니다. 이 쿼리를 할 때 :
나는이 예외를 얻는다.
이 문제를 해결할 수있는 방법이 있습니까?
전자 메일 주소에 @ 문자를 다른 문자로 저장하는 방법은 항상 있지만,이 솔루션보다 나은 것이 있는지 묻습니다.
해결법
-
==============================
1.HQL 쿼리를 연결하지 마십시오. 대신 명명 된 매개 변수를 사용하십시오. 이것은 Hibernate에서 Query Object Pattern의 구현이다.
HQL 쿼리를 연결하지 마십시오. 대신 명명 된 매개 변수를 사용하십시오. 이것은 Hibernate에서 Query Object Pattern의 구현이다.
귀하의 경우 :
Session session = sessionFactory.getCurrentSession(); String selectQuery = "FROM Account as account WHERE account.username = :usernameParam"; Query query = session.createQuery(selectQuery); query.setParameter("usernameParam", username); @SuppressWarnings("unchecked") List<Account> results = query.list(); if(results.isEmpty()){ return null; } else { return result; }
Offtop : 해당 메소드에 대해 null 값을 반환하지 마십시오. 빈 콜렉션을 반환하는 것이 더 좋습니다. 예를 들어 새로운 ArrayList를 반환합니다. <> (); 따라서 Null Object 패턴을 암시 적으로 사용할 수 있습니다.
from https://stackoverflow.com/questions/14458986/hibernate-having-difficulty-with-character-in-hql by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring + Hibernate + Tomcat 종속성 문제 (0) | 2019.05.13 |
---|---|
[SPRING] 스프링 웹 소켓 : 오프라인 사용자에게 메시지 보내기 - 메시지 브로커에 대기열에 포함되지 않은 메시지 (0) | 2019.05.13 |
[SPRING] @Autowire가 @Repository로 실패했습니다. (0) | 2019.05.13 |
[SPRING] Spring RestTemplate는 get리스트를 보냅니다. (0) | 2019.05.13 |
[SPRING] Eclipse에서 applicationcontext.xml을 구성하는 방법 (0) | 2019.05.13 |