HIbernate игнорирует выборку данных из поля OnetoMany - PullRequest
0 голосов
/ 17 февраля 2020

Я бы хотел игнорировать поле @OnetoMany в моей сущности. Извлекаемые данные должны получать фактические поля, но не хотят запускать запрос к зависимой таблице. Но удаление данных из родительской таблицы требует удаления из зависимой таблицы

Я пробовал @Transient, который игнорирует, но удаление также игнорируется. Есть ли другой способ сказать JPA не получать данные из дочерней таблицы, когда я вызываю родительский объект?

@Entity
Table(name = "User")
public class UserEntity implements Serializable {
    @Id
    @Column(name = "id")
    private int id;

    @Column(name = "SERIAL", unique = true, nullable = false)
    private String serial;

    @OneToMany(mappedBy = "serialBySerialId", cascade = CascadeType.ALL)
    private Set<UserActionEntity> userActionsById;

}

@Table(name = "user_action")
public class UserActionEntity implements Serializable {

    @Id
    @Column(name = "id")
    private int id;

    @Column(name = "action")
    private String action;

    @ManyToOne
    @JoinColumn(name = "USER_ID", referencedColumnName = "ID", nullable = false)
    private UserEntity userByUserId;



1 Ответ

0 голосов
/ 17 февраля 2020

Если вы не хотите запускать запрос к зависимой таблице, вы можете использовать (fetch = FetchType.LAZY) для свойства UserActionEntity.

 @OneToMany(mappedBy = "serialBySerialId", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        private Set<UserActionEntity> userActionsById;
...