[SPRING] 혼합 매개 변수 전략 - 명명 된, 위치 또는 JPA 순서 전략 중 하나만 사용
SPRING혼합 매개 변수 전략 - 명명 된, 위치 또는 JPA 순서 전략 중 하나만 사용
오라클 데이터베이스에서 함수를 호출하고 예외를 직면 :
이것은 내 User.java 항목입니다.
@Entity
@Table(name = "users", schema = "myschema")
@javax.persistence.NamedNativeQuery(name = "getPass", query = "{? call = his.get_abc(:mrno)}", resultClass = User.class, hints = {
@javax.persistence.QueryHint(name = "org.hibernate.callable", value = "true") })
public class User {
@Id
@Column(name = "USERID", nullable = false)
private String userid;
@Column(name = "MRNO")
private String mrno;
private String username;
private String password;
private String fullName;
// Getters and Setters are written.
}
그리고 이것이 제가 Service 클래스에서이 함수를 호출하는 방법입니다.
public boolean validateUser(String mrno, String password) {
String completeMrno = utils.getMedicalRecordNumber(mrno);
EntityManagerFactory factory = Persistence.createEntityManagerFactory("his-dev");
EntityManager entityManager = factory.createEntityManager();
Query query = entityManager.createNamedQuery("getPass"); // <- this line is raising exception.
query.setParameter("mrno",completeMrno);
List<?> results = query.getResultList();
}
따라서 String을 반환하는 Oracle Function을 호출하기 위해 필요한 변경 사항은 무엇입니까?
감사. 더 많은 정보가 필요한지 알려주십시오.
해결법
-
==============================
1.JPA로 함수를 호출하는 방법에 대한 예제를 아래에서 찾으십시오.
JPA로 함수를 호출하는 방법에 대한 예제를 아래에서 찾으십시오.
Object result = entityManager.createNativeQuery("SELECT his.get_abc(:mrno) FROM DUAL") .setParameter("mrno", completeMrno) .getSingleResult(); String value = new String(result);
from https://stackoverflow.com/questions/54017772/mixed-parameter-strategies-use-just-one-of-named-positional-or-jpa-ordinal-st by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 배치에서 내 데이터 소스를 사용하지 않는 스프링 배치 프로젝트를 만들고 싶습니다. (0) | 2019.05.27 |
---|---|
[SPRING] Spring 배치를 사용한 트랜잭션 관리 (0) | 2019.05.27 |
[SPRING] p6Spy로 작업 할 수 없습니다. (0) | 2019.05.27 |
[SPRING] 스프링 부트 : accessDeniedHandler가 작동하지 않습니다. (0) | 2019.05.27 |
[SPRING] 스프링 부트에서 허용 된 헤더를 변경하는 방법 (0) | 2019.05.27 |