Предложение HQL SELECT не работает

1

У меня есть объект под названием CategorySet.

@Entity
@Table(name = "CATEGORY_SET")
public class CategorySet {
    @Id
    @Column(name = "ID")
    @GeneratedValue
    private Integer id;
@OneToOne
@JoinColumn(name = "ID")
private Category parent;

@OneToOne
@JoinColumn(name = "ID")
private Category child;

public CategorySet(Category parent, Category child) {
    this.parent = parent;
    this.child = child;
}

public CategorySet() {
}
}

и в моем DaoImpl я получаю только дочерний столбец из объекта. Но он возвращает пустой список.

String innerQueryString = "select CS.child FROM CategorySet CS";
Query innerQuery = sessionFactory.getCurrentSession().createQuery(innerQueryString);
List list = innerQuery.list();

Я также использовал критерии. Он выбрасывает ArrayIndexOutOfBoundException

    Criteria  criteria  =sessionFactory.getCurrentSession().createCriteria(CategorySet.class);
    criteria.setProjection(Projections.property("child")); //Projections.property is used to retrieve specific columns

    List students = criteria.list();

Может кто-то, пожалуйста, помогите мне исправить это?

Теги:
hibernate
hql
criteria

1 ответ

0
Лучший ответ

join column родителем и дочерним элементом.

@Entity
@Table(name = "CATEGORY_SET")
public class CategorySet {
    @Id
    @Column(name = "ID")
    @GeneratedValue
    private Integer id;

    @OneToOne
    @JoinColumn(name = "PARENT")
    private Category parent;

    @OneToOne
    @JoinColumn(name = "CHILD")
    private Category child;

    public CategorySet(Category parent, Category child) {
        this.parent = parent;
        this.child = child;
    }

    public CategorySet() {
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню