【发布时间】:2015-05-27 04:13:55
【问题描述】:
我需要从属性文件将查询加载到存储库中。例如,这里:
@Repository
public interface StudentRepository extends JpaRepository<Student, Integer> {
@Query(value="SELECT * FROM student where year= :le", native=true)
public List<Student> getStudentsByLevel(@Param("le") int level);
}
我需要从属性文件中加载"SELECT * FROM student where year= :le" 字符串。有什么办法吗?
【问题讨论】:
-
我不知道。你为什么要那样做?如果你真的必须,你可以把你的命名查询放在
orm.xml。 -
spring可以用xml配置代替@Query注解吗?
-
当然,你为什么不...这只是 JPA 的一个闲置,你可以做任何你想做的事情。但按照最初的要求,为什么?
-
如最初的帖子所示,我正在使用 JPArepositories。现在我需要让我的应用程序同时支持 mysql 和 oracle,为 mysql 数据库定义的一些查询不支持 oracle 数据库。所以我试图让我的查询可配置。你能给我一些 xml 配置而不是 @Query 的例子吗?
-
你应该使用 HQL 而不是 SQL,这样 hibernate 会处理这个问题。恕我直言,缺陷是您使用 SQL 而不是 HQL...
标签: java spring jpa spring-data-jpa