Как лучше всего использовать Gilead с GXT и hibernate? - PullRequest
0 голосов
/ 08 июля 2010

Я хотел понять, как лучше интегрировать Gilead с GXT и hibernate. Эта статья http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.html описывает использование Gilead с GWT.

Большинство компонентов GXT связаны с использованием пользовательских классов, которые наследуют BaseModelData, означает ли это, что нам нужно преобразовать сохраняемый компонент (компонент LightEntity) в пользовательский класс, который расширяет BaseModelData, перед привязкой к компоненту GXT. Правильно ли мое понимание? Если да, то каково преимущество, которое я получаю от этого, мне нужно было бы снова использовать преобразование кода dozer / hand?

Примеры на сайте gilead как жалкие, может кто-нибудь дать ссылку, где присутствует полный пример использования GXT с Gilead и hibernate?

Спасибо

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Также, когда вы используете компоненты данных и извлекаете коллекцию, типизированную как суперкласс с экземплярами подклассов, вам нужно будет добавить этот параметр в средство чтения bean-компонентов

                    reader.setFactoryForEachBean(true);

Если вы не установили фабрику длякаждый бин читатель будет пытаться привести все объекты к классу первого экземпляра коллекции

Пример: Суперкласс = Животные Подклассы = Собака, Кошка

В удаленном методе, который вы возвращаетесписок животных: составьте список и создайте интерфейс модели компонента для каждого класса.

1 голос
/ 30 июля 2010

Вам не нужно, чтобы ваши DAO реализовывали BaseModelData.

Для каждого класса DAO вы должны создать интерфейс в своем клиентском пакете GWT.Вы должны расширить BeanModelMarker и использовать аннотацию @BEAN.Это говорит EXT GWT, что ваш DAO может использоваться как BeanModel

package org.gwtapp.client.model;

import com.extjs.gxt.ui.client.data.BeanModelMarker;
import com.extjs.gxt.ui.client.data.BeanModelMarker.BEAN;

@BEAN(org.vnsny.domain.MyClass.class)
public interface MyClassBeanModel extends BeanModelMarker {

}

Затем, когда вам нужно создать BeanModel из вашего класса, вы используете BeanModelFactory

BeanModel model = BeanModelLookup.get().getFactory(
                MyClass.class).createModel(myClassObj);
...