【发布时间】:2015-10-29 13:30:16
【问题描述】:
是否可以从 jpa hibernate @Query 调用 Oracle 函数?
这对我有用:
@Query("SELECT NEW com.test.project.dto.ResultDTO(g,l.country,r.name) "
+ "FROM Items g, Service l, Service r, Service s"
+" WHERE s.id = g.id"
+" AND s.location = l.name"
+" AND s.serviceType = 'type'"
+" AND l.serviceType = 'Location'"
+" AND l.area = r.name"
+" AND r.serviceType = 'Region'")
public ResultDTO[] name();
但我想在ResultDTO 的构造函数中调用一个带有两个参数的Oracle 函数。就像我会使用原生 SQL 一样。
在查询中添加:get_trans_lac(l.country, 'en')
@Query("SELECT NEW com.test.project.dto.ResultDTO(g, get_translation(l.country, 'en'),r.name) "
+ "FROM Items g, Service l, Service r, Service s"
+" WHERE s.id = g.id"
+" AND s.location = l.name"
+" AND s.serviceType = 'type'"
+" AND l.serviceType = 'Location'"
+" AND l.area = r.name"
+" AND r.serviceType = 'Region'")
public ResultDTO[] name();
有没有办法做到这一点?
我在应用程序启动时得到一个 Nullpointer。
这个:
SELECT NEW com.test.project.dto.ResultDTO(g, FUNCTION(get_translation, l.country, 'en'),r.name) 还提供了一个空指针
【问题讨论】:
标签: java spring oracle hibernate jpa