在做一个有关联关系的User,Department两个对象的查询时,出了点问题。
这两个对象是many-to-one关系,先贴两个对象的实体类代码。
Department.java
@OneToMany(cascade =
{ CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH }, fetch = FetchType.LAZY, mappedBy = "department")
public Set<User> getUsers()
{
return users;
}
User.java
@ManyToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE }, optional = false)
@JoinColumn(name = "depa_Id")
public Department getDepartment()
{
return department;
}
情况是一个界面 左边是个Department的树,右边是两个tabpanel:点击树节点更改两个tabpanel里的内容两个tabpanel分别是user,department。贴出JavaScript的激发事件代码;
function activate_view_cp(_obj){
if(_obj.getId()=='child-tab1'){
if(parentId == null)
{
document.getElementById('center_iframe').src="./department.action";
}
else
{
document.getElementById('center_iframe').src="./department.action?filter_EQL_parent_Id="+parentId;
}
}else if(_obj.getId()=='child-tab2'){
if(parentId == null)
{
document.getElementById('center_iframe').src="./user.action";
}
else
{
document.getElementById('center_iframe').src="./user.action?filter_EQL_department.id="+parentId;
}
}
}
点击部门的tabPanel时候的uri是: ./department.action?filter_EQL_parent_Id="+parentId 。用户的tabPanel的uri是:./user.action?filter_EQL_department.id="+parentId 。注意这个地方department.id 实体属性对象的id !filter支持这样 让我太惊讶了 呵呵。省了好多事。
我刚开始的时候写成这样:./user.action?filter_EQL_depa_Id="+parentId 一直报找不到属性错误。
我用的是springside3.1.4版本本来他的filter查询是没有EQL,EQLI等。是我后来加的。其实也很简单只需要在两个类里修改一点代码就可以了
在 org.springside.modules.orm.PropertyFilter里增加定义。
在org.springside.modules.orm.hibernate.HibernateDao的buildPropertyFilterCriterion(final String propertyName, final Object value, final MatchType matchType)方法里增加处理就行了。ok
分享到:
相关推荐
SpringSide提供了工具类和辅助方法来简化PropertyFilter的使用,例如,解析请求参数到Filter条件,将Filter条件转换为SQL语句等。这使得在实际开发中,我们可以更方便地集成PropertyFilter到我们的应用程序中。 7....
Spring Security的Filter Security Interceptor是核心过滤器,它根据配置的访问规则拦截请求,进行身份验证和授权。SpringSide 3.3.1通过HttpSecurity配置,定制了包括登录、注销在内的各种安全策略。 3.2 CSRF防护...
【Springside Security详解】 Springside是一款轻量级的Java开发框架,它集成了许多常用的组件,其中包括安全框架Spring Security。Spring Security是Spring生态体系中的一个重要组成部分,专门用于处理Web应用的...
《玩转Acegi:SpringSide项目中的安全配置详解》 Acegi Security是Spring社区早期的安全框架,它为Spring应用提供了全面的身份验证和授权服务。在本文中,我们将深入探讨SpringSide项目中`applicationContext-acegi...
SpringSide4是一个基于Spring框架的企业级应用开发基础平台,使用Druid作为默认的数据源,因此,这个提交可能包含如何在SpringSide4中集成和配置StatFilter的代码示例。 总的来说,StatFilter是Druid的一个重要特性...
`WEB-INF/web.xml`是Web应用的部署描述符,定义了应用的配置信息,如Servlet、Filter和Listener的配置。`WEB-INF/classes`和`WEB-INF/lib`分别存放编译后的Java类文件和应用依赖的JAR库。 2. **META-INF**:这个...
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> <param-name>actionPackages <param-value>org.springside.miniweb.web </filter> ``` 这里指定了`org.springside.miniweb....
3. **社区资源**:SpringSide 社区提供了一些基于 Acegi 的配置示例,虽然不是最新的 Spring Security 版本,但对于理解配置原理仍然有参考价值。 #### Spring Security 基本配置 Spring Security 的配置主要包括...
在SpringSide项目中,引入了RBAC模型,将用户、角色和权限分离,通过用户拥有角色、角色拥有权限的方式简化权限管理。资源分为ACL、URL和FUNCTION三种,权限命名遵循特定规则,如以AUTH_开头的URL和FUNCTION权限,...