Mysql Hibernate-Join查询

Mysql Hibernate-Join查询,mysql,spring,hibernate,join,Mysql,Spring,Hibernate,Join,我有两门课: @Entity public class Tick { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; @ManyToOne(optional = false) @JoinColumn(name = "elitesystem_id", referencedColumnName = "id") private EliteSystem eliteSystem; private Date cre

我有两门课:

@Entity
public class Tick {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

@ManyToOne(optional = false)
@JoinColumn(name = "elitesystem_id", referencedColumnName = "id")
private EliteSystem eliteSystem;

private Date createDate;

@ManyToOne(optional = true)
@JoinColumn(name = "commander_id", referencedColumnName = "id")
private Commander commander;

private String address;

我想选择所有记号并获取笔记(如果有):

    Query query = session.createQuery("select t, n from Note n right join n.tick t where t.commander.name = '123'");
    List<Object[]> list = query.list();
Query Query=session.createQuery(“从注释n中选择t,n右连接n.tick t,其中t.commander.name='123');
List=query.List();
这只返回Tick对象。在一次查询中获取注释信息的正确方法是什么?
我可以在Tick类中添加对注释的引用,但这听起来不对,因为只有几个注释,因此Tick表中的列大部分是空的。

创建一个新类,例如:

public class TickNote {
    private Tick tick;
    private Note note;

    public TickNote(Tick tick,Note note){
        this.tick=tick;
        this.note=note;
那么您的查询是:

Query query = session.createQuery("select NEW TickNote(t, n) from Note n right join n.tick t where t.commander.name = '123'");
    List<TickNote> list = query.list();
Query Query=session.createQuery(“从Note n right join n.tick t中选择新的TickNote(t,n),其中t.commander.name='123');
List=query.List();
Query query = session.createQuery("select NEW TickNote(t, n) from Note n right join n.tick t where t.commander.name = '123'");
    List<TickNote> list = query.list();