弹出数据jpa本机查询与select语句中的动态列

时间:2016-05-19 08:29:01

标签: spring hibernate spring-data spring-data-jpa

我想根据用户凭据选择列值。

如果用户是admin,则可以显示列值,如果不是空值,则必须显示特定列。粘贴在此处的示例代码,我无法从Java端控制它

public interface OrderRepository extends CrudRepository<Order, Long>(){
@Query(nativeQuery = true, value = "SELECT order_number from view_order order by created_on desc")
    List<Object[]> findOrderNumber();

}

我的想法是什么,将列作为&#39; order_number&#39;如果用户是管理员。如果没有将它作为空字符串传递,如&#39; &#39 ;.我无法获得所需的输出。任何人都试图在spring data jpa存储库中生成动态本机查询

@Query(nativeQuery = true, value = "SELECT (:order_number) from view_order order by created_on desc")
List<Object[]> findOrderNumber( @Param("order_number") String  order_number);

1 个答案:

答案 0 :(得分:0)

您可以为您的用例使用案例陈述。

如下所示:

select 
  case usertype
  when 'Admin' then orderNumber
  else ''
  end as number
from orders