Hibernate @где аннотация на многотоновом отношенииJAVA

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

Сообщение Anonymous »

Я недавно начал рефакторировать свой проект, потому что мне пришлось добавить дополнительную колонку в некоторые из моей таблицы. Дополнительный столбец - это перечисление (ожидающее или активное).
Из -за этого изменения мне нужно сейчас, чтобы реорганизовать все мои вопросы, чтобы извлечь строку только в том случае, если статус активен. < /p>

После некоторого исследования я обнаружил, что мы можем аннотировать сущность с аннотацией @where. Он отлично работает там, где я использую его в простом столбце, но моя таблица выглядит так: < /p>

@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;

...
...

}
< /code>

Теперь мой вопрос заключается в том, как сделать это оператор только вернуть места и теги, которые активны? < /p>

SELECT pt FROM PlaceTag pt;
< /code>

Это возможно? Или мне придется явно написать запрос? < /P>

Спасибо < /p>

Подробнее здесь: https://stackoverflow.com/questions/271 ... e-relation

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