@dimjava

Как убрать заданные поля зависимой сущности из запроса с помощью hibernate criteria?

Есть два класса: A и B и соответственно таблицы в базе данных, соответствующие этим классам.

У класса B имеется LOB поле, которое не хочется выкачивать при каждом запросе.
Как можно, выкачивая список сущностей A, вытащить и список B-шек, но без поля data и все это с помощью criteria query ?

@Entity  
@Table(name = "A")  
public class A implements Serializable {  
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private Long id;

    @OneToMany(mappedBy = "order", fetch = FetchType.LAZY)
    @Cascade(CascadeType.ALL)
    private List<B> list = new LinkedList<>();
}

@Entity  
@Table(name = "B")  
public class B implements Serializable {  
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private Long id;

    @Column(name = "data", nullable = false)
    @Lob
    private byte[] data;

    @ManyToOne(targetEntity = A.class, fetch = FetchType.EAGER)
    @JoinColumn(name = "A_id", nullable = false)
    private A a;
}
  • Вопрос задан
  • 308 просмотров
Пригласить эксперта
Ответы на вопрос 1
так подойдёт?

@Entity  
@Table(name = "B")  
public class B implements Serializable {  
...
    @Column(name = "data", nullable = false)
    @Lob
    @javax.persistence.Basic(fetch=FetchType.LAZY)
    private byte[] data;
...
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы