小编Ede*_*ger的帖子

带有集合ArrayIndexOutOfBoundsException的Hibernate投影

大家好我有这个代码:

Criteria criteria = session.createCriteria(Department.class);

ProjectionList properties = Projections.projectionList();
properties.add(Projections.property("id"), "id");
properties.add(Projections.property("name"), "name");
properties.add(Projections.property("children"), "children");

criteria.setProjection(properties);
criteria.setFetchMode("children", FetchMode.JOIN);
criteria.setResultTransformer(Transformers.aliasToBean(Department.class));

criteria.add(Restrictions.isNull("parent.id"));
criteria.add(Restrictions.eq("active", true));

return criteria.list();
Run Code Online (Sandbox Code Playgroud)

和实体类

public class Department extends Model {

    @Size(max = 200)
    private String name;

    @Size(max = 10)
    private String sg;

    @Size(max = 1000)
    private String description;

    @ManyToOne
    @JoinColumn(name = "id_parent")
    private Department parent;

    private boolean active;

    @OneToMany(mappedBy = "parent")
    private List<Department> children;
Run Code Online (Sandbox Code Playgroud)

......加上吸气剂和二传手......

我执行标准并给我stacktrace异常:

java.lang.ArrayIndexOutOfBoundsException: 2
at org.hibernate.loader.criteria.CriteriaLoader.getResultRow(CriteriaLoader.java:166)
at org.hibernate.loader.criteria.CriteriaLoader.getResultColumnOrRow(CriteriaLoader.java:146)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:747)
at org.hibernate.loader.Loader.processResultSet(Loader.java:949)
at org.hibernate.loader.Loader.doQuery(Loader.java:917)
at …
Run Code Online (Sandbox Code Playgroud)

java hibernate

8
推荐指数
1
解决办法
4579
查看次数

标签 统计

hibernate ×1

java ×1