项目中,jpa对于简单的数据库操作很方便,但如果多表关联动态查询时,需要自己去写SQL语句拼接查询条件,以下为本人学习的例子。
类似于这种多条件动态查询:
项目用的是springboot 2.1.0.RELEASE版本以及spring-boot-starter-data-jpa,其中spring-boot-starter-data-jpa底层已经依赖了hibernate-core5.3.7.Final,数据库用的是postgresql。
这里pom.xml和properties配置文件省略。
由于不能直接spring-data-jpa的Repository调用接口,所以得获取操作数据层的入口,详情请查看springBoot获取jpa的sessionFactory。
一.实体类(直接从工程复制粘贴过来的,有错可以自己解决,@Data为lombok工具的注解,自动生成getter/setter以及构造方法等)
**
* 商品表
*/
@Entity
@Table(name = "t_goods ")//heibernate自动生成数据库表
@Data
public class TGoods implements Serializable {
//这里关联两张表
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@ApiParam("自增列")
private int id;