Spring与Jpa整合
也可以使用原生的SQL语句,只需要在@Query注解中,添加nativeQuery=true。
在这里需要注意的是,我们使用了#{#entityName}表达式,Spring Jpa会在标有#{#entityName}的地方插入Repository关联的标注有@Entity的实体类名称。也就是说
from #{#entityName} e where e.hireDate <= ?1
from Employee e where e.hireDate <= ?1
完成以上步骤之后,我们不禁会想到,到目前为止,好像都没有配置和数据库关联的相关信息,比如数据源,连接池,是否使用缓存及Hibernate的数据库方言等等。是的,下一步,我们将详细介绍配置与数据库的连接信息。
Persistence.xml配置
因为我们使用的是Jpa,所以首先需要在classpath下的META-INF目录下创建一个persistence.xml文件,在persistence.xml文件中配置Jpa与数据库在连接信息。大致的配置如下:
Spring与Jpa整合
此外,我们使用c3p0作为数据库连接池,所以还要添加以下jar的依赖。