Код: Выделить всё
@Entity
@Table(name = "my_table")
@FilterDef(name = "MyTable.current")
@Filter(name = "MyTable.current", condition = """
revision_number = (select max(v.revision_number) from {h-schema}my_table as v where id = v.id)
""")
public class MyRevisioneEntity extends PanacheEntityBase {
@Id
/* This is NOT autogenerated */
UUID id;
@Id
@Column(name = "revision_number")
long revision;
@Basic(fetch = FetchType.LAZY)
@Formula("(revision_number = (select max(v.revision_number) from {h-schema}my_table as v where id = v.id))")
boolean latestRevision;
// ... metadata, target of revision!
}
Обычно мне нужна только самая последняя версия, поэтому я решил создать фильтр MyTable.current, но у меня проблема: заполнитель {h-schema не разрешен, поэтому мне приходится подделывать схему в условии фильтра.
Применяется то же условие, что и @Formula для свойства lateRevision работает безупречно (заполнитель разрешается, как и ожидалось).
Это задумано или условие @Filter должно разрешать заполнитель как @Formula да?
Подробнее здесь: https://stackoverflow.com/questions/785 ... -condition
Мобильная версия