这是关于我的 struts.xml 中的配置:
其余插件建议使用
<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-plugin 告诉我使用
<package name="default" extends="hibernate-default">
尽管。
我如何集成它以使 REST和休眠运行?什么是正确的配置?
(目前我得到一个 NullPointerException 因为我的 Session 没有被注入。)
非常感谢您的帮助!
以下是更多上下文:
我有一个名为“Task”的 bean 类,它有“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(我也不能,因为另一个关系会使它成为周期性的)。当我不使用休眠插件时,我无法通过 JSP 访问依赖项,因为 Action/Controller 在 JSP 呈现之前已经关闭了会话,然后延迟获取不起作用。因此,我需要休眠插件——在呈现 jsp后关闭会话。
问题是我不知道如何告诉休眠插件它应该将会话对象注入我的类。它已经被注释了(我猜)但是休眠插件只是不看它。
public class TaskDAO {
@SessionTarget
Session session;
@TransactionTarget
Transaction transaction;
...
}
如果这是一个问题:我尽可能在 xml 上使用注释......
我想我只需要正确配置其余的和休眠插件来完成他们的工作(同时)!