2013-03-19 1 views
0

это о конфигурации в моем struts.xml:Как использовать spring2 с плагинами отдыха и спящего режима?

Остальные плагин рекомендует использовать

<constant name="struts.mapper.class" value="rest" /> 
<constant value="Controller" name="struts.convention.action.suffix" /> 
<constant value="true" name="struts.convention.action.mapAllMatches" /> 
<constant value="rest-default" name="struts.convention.default.parent.package" /> 
<constant value="rest" name="struts.convention.package.locators" /> 

, которая не использует пакеты больше. Они все понятны через плагин конвенции. Платформа fullhibernate говорит мне использовать

<package name="default" extends="hibernate-default"> 

хотя.

Как интегрировать это, чтобы получить ОТДЫХ и спящий режим? Какая правильная конфигурация?

(В настоящее время я получаю NullPointerException, потому что моя сессия не вводили.)

Большое спасибо за вашу помощь!

Вот еще контекст:

У меня есть класс компонента под названием «Task», который имеет «Dependees» (все управляемые через Hibernate)

@ManyToMany(fetch=FetchType.LAZY) 
@JoinTable(name = "TASKLIST_TASK", 
    joinColumns = @JoinColumn(name = "TASK_ID"), 
    inverseJoinColumns = @JoinColumn(name = "TASKLIST_ID")) 
private Set<Task> dependees; 

это довольно огромное множество так Я не хочу использовать FetchType.EAGER (также я не могу, из-за другого отношения, которое сделало бы его циклическим). Когда я не использую плагин hibernate, я не могу получить доступ к зависимым пользователям через JSP, потому что Action/Controller так закрывает сессию, пока JSP не отображает, а затем ленивый выборка не работает. Поэтому мне нужен плагин hibernate - для закрытия сеанса после jsp был визуализирован.

Проблема в том, что я не знаю, как рассказать плагин hibernate, что он должен вставлять объект сеанса в мой класс. Это уже аннотируется, как и должно (я думаю), но плагин hibernate просто не смотрит на него.

public class TaskDAO { 

@SessionTarget 
Session session; 

@TransactionTarget 
Transaction transaction; 

... 
} 

В случае это проблема: Я использую аннотации над XML, где я могу ...

Я думаю, что мне просто нужно правильную конфигурацию для остальных, и спящий режим плагин, чтобы сделать свою работу (одновременно) !

+0

Дайте нам знать, что вы исследовали. Btw выглядит проблема из-за попытки сериализации hibernate lazy stuff – dgregory

+0

Привет dgregory, я думаю, проблема в том, что hibernateplugin не вводит его сессию ... Я получаю глупый нулевой указатель при доступе к сеансу - Добавлен еще один контекст выше! – clemens

ответ

0

Хорошо! Части, которую я отсутствовал, это линия

<constant value="hibernate-default" name="struts.convention.default.parent.package" /> 

, которая дает каждому контроллеру REST пакет по умолчанию для спящего режима!

После перекомпиляции fullhibernate-plugin с hibernate-4.1 я теперь могу его использовать. Ленивая инициализация не работает, но я еще на один шаг :-)

Смежные вопросы