父对象:Business.java
package com.workFlow.bean;import java.io.Serializable;
import java.util.*;public class Business implements Serializable{
private Long id;
private String name;
private List actions = null;
public List getActions() {
return actions;
}
public void setActions(List actions) {
this.actions = actions;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}Business.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.workFlow.bean.Business" table="TF_Business">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<list cascade="all" lazy="true" name="actions">
<key column="business_Id"/>
<index column="id"/>
<one-to-many class="com.workFlow.bean.Action"/>
</list>
</class>
</hibernate-mapping>子对象:Action.java
package com.workFlow.bean;import java.io.Serializable;
import java.util.*;public class Action
implements Serializable {
private Long id;
private String name;
private int business_Id; private List actionStates = null;
public int getBusiness_Id() {
return business_Id;
} public void setBusiness_Id(int business_Id) {
this.business_Id = business_Id;
} public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public List getActionStates() {
return actionStates;
} public void setActionStates(List actionStates) {
this.actionStates = actionStates;
}}
Action.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.workFlow.bean.Action" table="TF_Action">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/> </class>
</hibernate-mapping>数据访问接口:BusinessManagerImpl.java
package com.workFlow.manager.impl;import com.workFlow.bean.*;
import com.workFlow.manager.BusinessManager;import org.springframework.orm.hibernate.support.HibernateDaoSupport;import java.io.Serializable;import java.util.List;
/**
* DOCUMENT ME!
*
* @author wjj
*/
public class BusinessManagerImpl extends HibernateDaoSupport
implements BusinessManager {
//~ Methods ----------------------------------------------------------------
........
........
/*
* (non-Javadoc)
*
* @see BusinessManager#loadBusinessById(java.io.Serializable)
*/
public Business loadBusinessById(Serializable id) {
return (Business) getHibernateTemplate().load(Business.class, id);
}
......
}当测试执行 loadBusinessById(Serializable id)方法后,读数据库正常,但buiness.getActions()的list数组应该只有3个Action对象,但后来发现有5个,其中第0和第2对象为"null",但buiness.getActions().size()等于5不是3了,这是怎么回事?环境是hibernate2.17 jtds1.1 spring1.1.2
package com.workFlow.bean;import java.io.Serializable;
import java.util.*;public class Business implements Serializable{
private Long id;
private String name;
private List actions = null;
public List getActions() {
return actions;
}
public void setActions(List actions) {
this.actions = actions;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}Business.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.workFlow.bean.Business" table="TF_Business">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<list cascade="all" lazy="true" name="actions">
<key column="business_Id"/>
<index column="id"/>
<one-to-many class="com.workFlow.bean.Action"/>
</list>
</class>
</hibernate-mapping>子对象:Action.java
package com.workFlow.bean;import java.io.Serializable;
import java.util.*;public class Action
implements Serializable {
private Long id;
private String name;
private int business_Id; private List actionStates = null;
public int getBusiness_Id() {
return business_Id;
} public void setBusiness_Id(int business_Id) {
this.business_Id = business_Id;
} public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public List getActionStates() {
return actionStates;
} public void setActionStates(List actionStates) {
this.actionStates = actionStates;
}}
Action.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.workFlow.bean.Action" table="TF_Action">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/> </class>
</hibernate-mapping>数据访问接口:BusinessManagerImpl.java
package com.workFlow.manager.impl;import com.workFlow.bean.*;
import com.workFlow.manager.BusinessManager;import org.springframework.orm.hibernate.support.HibernateDaoSupport;import java.io.Serializable;import java.util.List;
/**
* DOCUMENT ME!
*
* @author wjj
*/
public class BusinessManagerImpl extends HibernateDaoSupport
implements BusinessManager {
//~ Methods ----------------------------------------------------------------
........
........
/*
* (non-Javadoc)
*
* @see BusinessManager#loadBusinessById(java.io.Serializable)
*/
public Business loadBusinessById(Serializable id) {
return (Business) getHibernateTemplate().load(Business.class, id);
}
......
}当测试执行 loadBusinessById(Serializable id)方法后,读数据库正常,但buiness.getActions()的list数组应该只有3个Action对象,但后来发现有5个,其中第0和第2对象为"null",但buiness.getActions().size()等于5不是3了,这是怎么回事?环境是hibernate2.17 jtds1.1 spring1.1.2
解决方案 »
- 求助:dwr在ie下无法实现推送
- 怎么才能面试出水平,请给我建议
- webwork结合dwr 提交form问题
- 请问向jsp,struts,j2EE方面发展需要刻意去学swing,awt等GUI吗?
- 请问一下,有谁碰过这种问题吗?
- 问一个弱弱的问题
- 本人刚学习EJB,想请各位推荐一下有关EJB的书籍,最好是要详细一点的!!!!!
- mysql的jdbc问题
- 招聘
- 如何实例化参数calss 得到属性get set 方法?
- ActionContext.getContext().getParameters().put("action","add"),在resin没有报错,怎么weblogic就报错。
- JUnit怎样才能对private的方法作测试?
中的=null去掉去看看。