powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Vaadin HbnContainer, наложение фильтра.
3 сообщений из 3, страница 1 из 1
Vaadin HbnContainer, наложение фильтра.
    #38013378
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую.

Собственно, вопрос- как отфильтровать только интересующие записи, например, с определенным диапазоном идентификаторов.
Был бы весьма признателен за информацию.

Спасибо.
...
Рейтинг: 0 / 0
Vaadin HbnContainer, наложение фильтра.
    #38013520
tumblerrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanov-void, да в общем-то все довольно просто

Код: java
1.
2.
       cont = new HbnContainer<MyClass>( MyClass.class, app );
       cont.addContainerFilter( "param", value );
...
Рейтинг: 0 / 0
Vaadin HbnContainer, наложение фильтра.
    #38013592
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tumblerrr,

Благодарю, но все гораздо проще -

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import org.hibernate.criterion.Criterion;

public abstract class ContainerFilter {
   private final Object propertyId;

    public ContainerFilter(Object propertyId) {
    	this.propertyId = propertyId;
    }
    
    public Object getPropertyId() {
    	return propertyId;
    }
    
    public abstract Criterion getFieldCriterion(String fullPropertyName);
    
    public Criterion getCriterion(String idName) {
   	 	return (idName == null) ? 
                  getFieldCriterion(getPropertyId().toString()) : 
                     getFieldCriterion(idName+"."+getPropertyId());
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;

public class IdContainerFilter extends ContainerFilter {
	private final Long id;
	public IdContainerFilter(Object propertyId, Long id) {
		super(propertyId);
		this.id = id;
	}
	@Override
	public Criterion getFieldCriterion(String fullPropertyName) {
		return Restrictions.eq(fullPropertyName, id);
	}
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@SuppressWarnings("serial")
@Entity
@Table(name = "MYCLASS")
public class MyClass implements Serializable {
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "MYCLASSID")
	private Long id;
        ...



Код: java
1.
2.
3.
4.
5.
6.
7.
...
final HbnContainer<MyClass> cont = new HbnContainer<MyClass>(MyClass.class, this);
IdContainerFilter idContainerFilter = new IdContainerFilter("id", new Long(1));
cont.addContainerFilter(idContainerFilter);
	        
table.setContainerDataSource(cont);
...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Vaadin HbnContainer, наложение фильтра.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]