Spring JPA经验汇总
2016-06-15 00:00
441 查看
摘要: Spring JPA经验汇总
组合条件查询
Specification<UserModel> spec = new Specification<UserModel>() {
public Predicate toPredicate(Root<UserModel> root,
CriteriaQuery<?> query, CriteriaBuilder cb) {
Predicate p1 = cb.like(root.get("name").as(String.class), "%"+um.getName()+"%");
Predicate p2 = cb.equal(root.get("uuid").as(Integer.class), um.getUuid());
Predicate p3 = cb.gt(root.get("age").as(Integer.class), um.getAge());
//把Predicate应用到CriteriaQuery中去,因为还可以给CriteriaQuery添加其他的功能,比如排序、分组啥的
query.where(cb.and(p3,cb.or(p1,p2)));
//添加排序的功能
query.orderBy(cb.desc(root.get("uuid").as(Integer.class)));
return query.getRestriction();
}
};
repository.findAll(specification, pageable)
关于lazy的数据获取方法
http://www.thoughts-on-java.org/5-ways-to-initialize-lazy-relations-and-when-to-use-them/?spm=5176.100239.blogcont2378.10.s1rcFf&utm_source=rebellabs&utm_medium=post&utm_campaign=Rebellabs%20JPA%202.1%20Efficiency
jpa 2.1
http://blog.csdn.net/wang_jingj/article/details/51280415
JPQL 执行update,delete时报错
org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations
需要在@Query前增加@Modifying和@Transactional
JPQL查询条件含有in,多个in时报错:HQL unexpected AST node: {vector}
把in变量加上括号 cp.authorsDept in (?1)
组合条件查询
Specification<UserModel> spec = new Specification<UserModel>() {
public Predicate toPredicate(Root<UserModel> root,
CriteriaQuery<?> query, CriteriaBuilder cb) {
Predicate p1 = cb.like(root.get("name").as(String.class), "%"+um.getName()+"%");
Predicate p2 = cb.equal(root.get("uuid").as(Integer.class), um.getUuid());
Predicate p3 = cb.gt(root.get("age").as(Integer.class), um.getAge());
//把Predicate应用到CriteriaQuery中去,因为还可以给CriteriaQuery添加其他的功能,比如排序、分组啥的
query.where(cb.and(p3,cb.or(p1,p2)));
//添加排序的功能
query.orderBy(cb.desc(root.get("uuid").as(Integer.class)));
return query.getRestriction();
}
};
repository.findAll(specification, pageable)
关于lazy的数据获取方法
http://www.thoughts-on-java.org/5-ways-to-initialize-lazy-relations-and-when-to-use-them/?spm=5176.100239.blogcont2378.10.s1rcFf&utm_source=rebellabs&utm_medium=post&utm_campaign=Rebellabs%20JPA%202.1%20Efficiency
jpa 2.1
http://blog.csdn.net/wang_jingj/article/details/51280415
JPQL 执行update,delete时报错
org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations
需要在@Query前增加@Modifying和@Transactional
JPQL查询条件含有in,多个in时报错:HQL unexpected AST node: {vector}
把in变量加上括号 cp.authorsDept in (?1)
相关文章推荐
- spring对数据库的操作
- Java中Properties类的操作
- Jimoshi_Struts2 框架学习(三)--valueStack和ognl、struts2验证、struts2文件上传和下载
- Spring整合rabbitmq
- Windows配置Java开发环境
- eclipse中某工程的断点进不去问题,折腾了N个小时才找到原因,郁闷
- JSON 在java中的使用Json
- java笔记—多线程编程 Thread
- Eclipse背景颜色修改
- java笔记—封装、继承、多态[面向对象的三大特性]
- Struts2环境配置
- Java web项目开发需要掌握哪些技术?
- Java四种读取和创建XML文档的例子
- java笔记—List、Set、Map集合
- java连接库的JDBC工具包
- java视频百度云下载
- java反射机制模式
- Java笔记—IO操作
- java笔记— 抽象类、接口、final、的理解和例子
- 【Java递归】如何输出树形菜单