一、高级查询
1、查询的条件在多个不同的表中,如何组装查询
public class SalesInfo {
private String goodsName;//商品名称
private RetailInfo retailInfo;//关联实体类
}
public class RetailInfo {
private Date applyTime;// 提交时间
}
Predicate p1 = cb.like(root.get("goodsName").as(String.class) , "%"+condetion.getGoodsName()+"%");
Predicate p2 = cb.greaterThanOrEqualTo(root.***join("retailInfo")***.get("applyTime").as(Date.class) , condetion.getBeginTime());
p1表示查询条件使用到SalesIno类中的goodsName,
p2表示查询条件使用了SalesInfo中的ReTailInfo类中的“applyTime”属性。
二、jdbC一些小问题
1、java.sql.SQLException: Column count doesn’t match value count at row 1
这个问题提示数据列不匹配:
insert into info values(?,?,?,?,?,?)
其中表列必须只有六列
insert into info(bookName,authorName,price) values(?,?,?):
表列数可大于三
2、insert/update时使用execute(),其他使用executeQuery()
3.new java.sql.Date(info.getPublishingTime().getTime())
util.date转换成sql.Date