hi all:
The following code is my model class. Specially, the key
property
"regionId" is a String, not a Long type.
When I use "mvn appfuse:gen -Dentity=DRegion " to generate all the
code and
run "mvn integration-test",
there is an Excepion :
java.lang.NullPointerException
at com.huaat.webapp.action.DRegionAction.list(DRegionAction.java:
38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
................
..........
Then I check the code DRegionAction.java in line 38: dRegions =
dRegionManager.getAll();
Obviously , the dRegionManager is NULL ! I check every config
files ,
the dRegionManager bean
was added correctly, including in applicationcontext.xml. like
this:
<!--DRegionManager-START-->
<bean id="dRegionManager"
class="org.appfuse.service.impl.GenericManagerImpl"
autowire="byName">
<constructor-arg>
<bean
class="org.appfuse.dao.hibernate.GenericDaoHibernate">
<constructor-arg
value="com.myproject.model.DRegion"/>
<property name="sessionFactory"
ref="sessionFactory"/>
</bean>
</constructor-arg>
</bean>
<!--DRegionManager-END-->
now the question is, why the dRegionManager is not injected in my
DRegionAction ?
and why every thing is ok when the model key property chang to
Long,
instead of a String ?
thanks advanced!
--------------------------- DRegion.java
-------------------------------------
package com.myproject.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.appfuse.model.BaseObject;
@Embeddable
@Entity
@Table(name="d_region")
public class DRegion extends BaseObject implements Serializable {
private static final long serialVersionUID =
8317259246781769186L;
private String regionId;
private String regionName;
@Id
@Column(name="region_id", nullable=false, length=3)
public String getRegionId() {
return this.regionId;
}
public void setRegionId(String regionId) {
this.regionId = regionId;
}
@Column(name="region_name", nullable=false, length=32)
public String getRegionName() {
return this.regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DRegion pojo = (DRegion) o;
if (regionName != null ? !regionName.equals
(pojo.regionName) :
pojo.regionName != null) return false;
return true;
}
public int hashCode() {
int result = 0;
result = (regionName != null ? regionName.hashCode() : 0);
return result;
}
public String toString() {
StringBuffer sb = new StringBuffer(getClass().getSimpleName
());
sb.append(" [");
sb.append("regionId").append("='").append(getRegionId
()).append("',
");
sb.append("regionName").append("='").append(getRegionName()).append
("'");
sb.append("]");
return sb.toString();
}
}
--
View this message in context: http://www.nabble.com/Why-the-
GenericManager-can-not-be-injected-when-the-model-ID-is-a-String---
tp14362529s2369p14362529.html
Sent from the AppFuse - User mailing list archive at Nabble.com.
--------------------------------------------------------------------
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]