Action类方法: /**
* 查询企业名称是否存在
* @return
*/
public String selectOrgByOrgName(){
try {
bo=orgZcService.selectOrgByOrgName(orgZc.getOrgName());
} catch (Exception e) {
System.out.println(e.getMessage());
LOGGER.info("企业注册Action---查询企业名称是否存在失败");
return "EXCEPTION";
}
return "selectOrgByOrgName";
}
当执行到Action类方法的return "selectOrgByOrgName";时,后台只输出一SQL语句,但return这一句一执行,就会多出N条查询子表的SQL。所以速度很慢,这是1+N问题吗?
Action类调用的DaoImpl方法: /**
* 查询机构名称是否存在
* @param roleName
* @return
*/
public Boolean chickRoleNmaeIsNull(String roleName){
Boolean bo=true;
try {
String hql="select r.roleName from Role r where r.roleName=? and r.zt=0";
List<Role> list=find(hql,roleName);
if(list.size()!=0){
bo=false;
}
} catch (Exception e) {
System.out.println(e.getMessage());
LOGGER.info("组织机构接口实现类---查询机构名称是否存在失败");
}
return bo;
}
Role实体类央射文件--这里只贴出one-to-many部分: <bag name="userses" inverse="true" lazy="false">
<key>
<column name="roleId" not-null="true"></column>
</key>
<one-to-many class="com.soonsee.app.domain.Users"/>
</bag>
<bag name="roleRights" inverse="true" lazy="false">
<key>
<column name="role_id" not-null="true"></column>
</key>
<one-to-many class="com.soonsee.app.domain.RoleRight"/>
</bag>userses实体类央射文件--这里只贴出many-to-one部分: <many-to-one name="role" class="com.soonsee.app.domain.Role" fetch="join" lazy="false">
<column name="roleId" not-null="true" />
</many-to-one>roleRights实体类央射文件--这里只贴出many-to-one部分: <many-to-one name="role" class="com.soonsee.app.domain.Role" fetch="join" lazy="false">
<column name="role_id" not-null="true" />
</many-to-one>
我在网上也看了很多,说在many-to-one设置fetch=FetchType.LAZY,这我这里没有这个属性值,只有join和select两个属性值。
求解决方案!!!!!!!!
* 查询企业名称是否存在
* @return
*/
public String selectOrgByOrgName(){
try {
bo=orgZcService.selectOrgByOrgName(orgZc.getOrgName());
} catch (Exception e) {
System.out.println(e.getMessage());
LOGGER.info("企业注册Action---查询企业名称是否存在失败");
return "EXCEPTION";
}
return "selectOrgByOrgName";
}
当执行到Action类方法的return "selectOrgByOrgName";时,后台只输出一SQL语句,但return这一句一执行,就会多出N条查询子表的SQL。所以速度很慢,这是1+N问题吗?
Action类调用的DaoImpl方法: /**
* 查询机构名称是否存在
* @param roleName
* @return
*/
public Boolean chickRoleNmaeIsNull(String roleName){
Boolean bo=true;
try {
String hql="select r.roleName from Role r where r.roleName=? and r.zt=0";
List<Role> list=find(hql,roleName);
if(list.size()!=0){
bo=false;
}
} catch (Exception e) {
System.out.println(e.getMessage());
LOGGER.info("组织机构接口实现类---查询机构名称是否存在失败");
}
return bo;
}
Role实体类央射文件--这里只贴出one-to-many部分: <bag name="userses" inverse="true" lazy="false">
<key>
<column name="roleId" not-null="true"></column>
</key>
<one-to-many class="com.soonsee.app.domain.Users"/>
</bag>
<bag name="roleRights" inverse="true" lazy="false">
<key>
<column name="role_id" not-null="true"></column>
</key>
<one-to-many class="com.soonsee.app.domain.RoleRight"/>
</bag>userses实体类央射文件--这里只贴出many-to-one部分: <many-to-one name="role" class="com.soonsee.app.domain.Role" fetch="join" lazy="false">
<column name="roleId" not-null="true" />
</many-to-one>roleRights实体类央射文件--这里只贴出many-to-one部分: <many-to-one name="role" class="com.soonsee.app.domain.Role" fetch="join" lazy="false">
<column name="role_id" not-null="true" />
</many-to-one>
我在网上也看了很多,说在many-to-one设置fetch=FetchType.LAZY,这我这里没有这个属性值,只有join和select两个属性值。
求解决方案!!!!!!!!
解决方案 »
- 请教一些java操作 openoffice的问题。急急急
- 大婶说下javaee的基础,又不会怀孕。说下吧
- spring aop 设置一个advisor 和一个aspect 的冲突。
- Hibernate是干什么用的?
- 单元测试的疑惑
- 不循环List数组,能否把数组全部转换成某一个类型变量
- 高分请教用过log4j的朋友,一直找不到相关的资料,请高手指教!
- 讨论一下Petstore,你的学习方式是怎样的?
- 初学Struts的问题
- 求Jboss3.2+CMP+Oracle 实现字段自增的解决方案(下班前揭帖,6月27日)!!!!
- 如果百万人同时去访问同一个网站怎样处理数据
- 多对多HQL查询语句问题 求好心人丫
inverse="true" lazy="true"
加了,还是不行。多的一方:
<many-to-one name="role" class="com.soonsee.app.domain.Role" insert="true" fetch="join" lazy="false">
<column name="roleId" not-null="true" />
</many-to-one> <many-to-one name="role" class="com.soonsee.app.domain.Role" insert="true" lazy="false">
<column name="role_id" not-null="true" />
</many-to-one>
多的一方, lazy没有true这个值
只有false,no-proxy,proxy
设true会报错org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.soonsee.app.domain.Role.roleRights, no session or session was closed
<bag name="userses" fetch="subselect" inverse="false" lazy="true">
<key>
<column name="roleId" not-null="true"></column>
</key>
<one-to-many class="com.soonsee.app.domain.Users"/>
</bag>
<bag name="roleRights" fetch="subselect" inverse="false" lazy="true">
<key>
<column name="role_id" not-null="true"></column>
</key>
<one-to-many class="com.soonsee.app.domain.RoleRight"/>
</bag>