MYSQL多表级联查询问题
有如下实体类:Order, Ticket ,Attractions,Area
Order 里面有 ticketId,Ticket 跟 Attractions 是由关联表管理(ticketId_attraction),Area跟Attractions都有catid这个字段
如果是按照 area里面的pid来查询 怎么写HQL语句是最迅速最方便呢?
Java代码
Order
private Long userId;// 会员ID
private Long ticketId;// 门票ID
private Integer num;// 可用人数
private Date addTime;// 购票时间
private Date modifyTime;// 订单生效时间
private Date expTime;// 过期时间
private String linkId;// 支付流水号
private Double money;// 支付金额
private Integer type;// 支付方式0/1:支付宝/网银
private Integer orderStatus;// 订单状态0/1/2 :下单/支付成功/支付失败
private Integer ticketStatus;// 门票状态 0/1/2/3 正常/已用/过期/已退
private Date useTime;// 门票使用时间
private Integer flag; //删除类型 0/1 删除/未删除
private Integer usedNum;//已使用人数
private User user; //用户对象
——————————————————————————————————————————————————
Ticket
private String name;// 门票名称
private String description;// 门票描述
private Integer type;// 类型 0/1 普通票/通票
private List<Attractions> attractions;// 景点
private Double price;// 正常票价
private Double price1;// 多人票价
private Double price2;// 团购票价
private Double price3;// 旅行社票价
private Double exp;// 有效期单位:月
private Double jf;// 消费获取积分数
private short state = AVAILABLE_STATE;// 0/1 显示/不显示
public final static short AVAILABLE_STATE = 0;
public final static short DISABLE_STATE = 1;
---------------------------------------------------------------------
Attractions
public class Attractions extends PkEntity {
private String title;// 景点标题
private String bn;// 景点名称
private String canshu;// 详细介绍
private String memo;// 简介
private int catid;// 地区
private AttractionsOpenTime brandid;// 开放时间
---------------------------------------------------------------------
Area
public class Area {
private Long catid;
private Integer pid;
private String cat;
private Integer xuhao;
private String catPath;
private Integer nums;
private Integer tj;
private Integer ifChannel;
[最优解释]
看来LZ已经解决了,good!
[其他解释]
按pid查询什么
将所有表关联起来不行吗
[其他解释]
不知道怎么关联的 现在关联表没数据
我的项目里有门票跟景点两个类 目前设置的是多对多单向关联,即:在门票类里面设置了MANY-TO-MANY,在景点里面没有设置,生成的关联表只有门票的ID跟景点的ID两个字段属性,而且生成的表是readonly只读状态,现在问题来了,查询的时候提示我如下错误:
NestedServletException: Request processing failed; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists
谷歌了一下说是关联表设置问题,可我生成的关联表是只读的,里面也没有数据,我的门票跟景点的主键ID都是自动增长的
[其他解释]
按PID查询订单
[其他解释]
直接按照pid查询而已的吧。直接用order,之后left join order.对应属性,直到有pid的这个PO对象!
[其他解释]
null