Hibernate @Where аннотация для отношения ManyToOneJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Hibernate @Where аннотация для отношения ManyToOne

Сообщение Anonymous »

Недавно я начал рефакторить свой проект, потому что мне пришлось добавить дополнительный столбец в таблицу. Дополнительный столбец — это Enum (ожидающий или активный).
Из-за этого изменения мне теперь нужно будет реорганизовать ВСЕ мои запросы, чтобы получать строку только в том случае, если статус АКТИВЕН.

После некоторых исследований я обнаружил, что мы может аннотировать объект аннотацией @Where. он отлично работает там, где я использую его для простого столбца, но моя таблица выглядит так:

Код: Выделить всё

@Where(clause = 'state='ACTIVE'")
@Entity
public class Place {

@Column(name="id_place")
private String placeId;

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

@OneToMany(mappedBy = "place")
private Set
 placeTag;

...
...
}

@Where(clause = 'state='ACTIVE'")
@Entity
public class Tag {

@Column(name="id_tag")
private String tagId;

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

@OneToMany(mappedBy = "tag")
private Set placeTag;
...
...
}

@Where(clause = 'poi.state='ACTIVE' AND tag.state='ACTIVE")
@Entity
public class PlaceTag {

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

@ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
@JoinColumn(name = "place_id")
private Place place;

@ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY)
@JoinColumn(name = "tag_id")
private Tag tag;

...
...

}
Теперь мой вопрос: как заставить этот оператор возвращать ТОЛЬКО АКТИВНЫЕ места и теги?

Код: Выделить всё

SELECT pt FROM PlaceTag pt;
Возможно ли это? Или мне придется писать запрос явно?

Спасибо

Подробнее здесь: https://stackoverflow.com/questions/271 ... e-relation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»