HQL多表联合查询优化讨论

有如下实体类:Order, Ticket ,Attractions,Area
Order 里面有 ticketId,Ticket 跟 Attractions 是由关联表管理(ticketId_attraction),Area跟Attractions都有catid这个字段
如果是按照 area里面的pid来查询 怎么写HQL语句是最迅速最方便呢?

[color=red]Order[/color]
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; //用户对象
——————————————————————————————————————————————————

[color=red]Ticket[/color]
	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;
---------------------------------------------------------------------------------------------------------
[color=red]Attractions[/color]
public class Attractions extends PkEntity {
	private String title;// 景点标题
	private String bn;// 景点名称
	private String canshu;// 详细介绍
	private String memo;// 简介
	private int catid;// 地区
	private AttractionsOpenTime brandid;// 开放时间

---------------------------------------------------------------------------------------------------------
[color=red]Area[/color]

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;

猜你喜欢

转载自dddquk.iteye.com/blog/1739371