use*_*815 3 java spring hibernate
嗨,我已经通过以下方式扩展了JpaRepository接口。
public interface StudentRepository extends JpaRepository<Student,Integer>
{
@Query(value= "SELECT s.id FROM student as s where s.createdat > ADDDATE(CURRENT_DATE, :maxage ", nativeQuery = true )
public List<Integer> findWaitingStudentIds(@Param("maxage")int maxAge);
}
Run Code Online (Sandbox Code Playgroud)
这是Entity课程。
@Entity(name="student ")
public class Student implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(unique=true, nullable=false)
private Integer id;
@Temporal(TemporalType.TIMESTAMP)
@Column(updatable = false,insertable = false)
private Date createdat;
}
Run Code Online (Sandbox Code Playgroud)
我想为“列表findWaitingStudentIds”方法添加缓存。我该如何实现?
我可以从这个StackOverflow问题中复制并粘贴我的答案:
Spring在3.x RELEASE中引入了Cache的抽象。您可以在Spring官方文档(由于某种原因该站点今天已关闭:)中,或在此文章中阅读有关此内容的信息。
http://java.dzone.com/articles/spring-cache-abstraction-0
通过这种抽象,启用缓存所需要做的就是在服务中添加一些注释,例如
为缓存增加价值
Run Code Online (Sandbox Code Playgroud)@Cacheable("customers") public Customer findCustomer(long customerId) {...}删除缓存的值
Run Code Online (Sandbox Code Playgroud)@CacheEvict(value="customer", allEntries = true) public void removeAllCustomers(long customerId) {...}
| 归档时间: |
|
| 查看次数: |
10006 次 |
| 最近记录: |