오라클 VARRAY ...내가 오라클 기능에 액세스 할 수있는 최대 절전 모드라는 기본 쿼리가 최대 절전 모드 기능
@NamedNativeQuery(
name = "getProducts",
query = "{ ? = call prefix.get_products(:code, :productGroups) }",
callable = true,
resultClass = Product.class
)
불행하게도, productGroups
유형 VARRAY
이다 (ARRAYTYPENUMBER
, 숫자 VARRAY
). 일반 엔티티 매핑, 나는 단순히이 UserType
나는 정보의이 조각을 넣을 수있는 방법
... (거기 것을 수행) 및 @Type
를 통해 그지도,하지만 큰 문제는 ("이 UserType
를 사용하여 만들 수 있습니다 ") 내 @NamedNativeQuery
에?
편집 : 나는 ... 내 개체의 형식 정의를 등록을 통해 그것을 시도
@Entity
@NamedNativeQuery(... see above ...)
@TypeDef(defaultForType = IdList.class, typeClass = ArrayUserType.class)
public class Product {
... ArrayUserType
이 경우에도 초기화 결코 사용되지 않습니다 때문에하지만 불행히도,이 작동하지 않습니다 쿼리에서 productGroups
의 매개 변수로 IdList
개체를 제공합니다.
(수동으로 @Bean
이 초기화 됨) LocalSessionFactory.registerTypeOverride
이 작동하지 않지만 어쨌든 키를 제공 할 수 있습니다. 기본 Java 유형은 없습니다.
내 스프링 부트 1.4.0-RELEASE 컨텍스트에 localSessionFactoryBean이없는 것 같습니다. 내 엔터티에서 @TypeDef를 시도했지만 이것은 완전히 무시 된 것 같습니다. –
localSessionFactoryBean = 애플리케이션의 세션 팩토리. 만약 당신이 하이버 네이트를 사용하고 있다면, 당신은 이미 애플 리케이션에 sessionFactory를 설정해야만한다. – george
나는 그렇게 생각했다. 그러나 안타깝게도 그 bean은 컨텍스트에 존재하지 않는다. Hibernate는 작동한다. Hibernate를 명시 적으로 구성하지 않았다. Spring Boot를 통해. –