Primefaces Liferay 6.1和Glassfish 3.1.2:IllegalStateException:在调用activate()之前必须调用associate()

Primefaces Liferay 6.1和Glassfish 3.1.2:IllegalStateException:在调用activate()之前必须调用associate(),primefaces,jpa-2.0,glassfish-3,netbeans-7,liferay-6,Primefaces,Jpa 2.0,Glassfish 3,Netbeans 7,Liferay 6,我想问我的代码有什么问题。在我的项目中,我遇到了有关非法州例外的问题。我的设置如下: Netbeans 7.2.1+JSF2 Liferay 6.1 GA2与Glassfish捆绑在一起3.1.2 Primefaces 3.5 我使用“数据库实体”功能生成实体 很长一段时间以来,我一直在试图找到解决这个问题的方法,我总是能从jboss中获得有关问题的信息。但大多数帖子都有1~2年的历史,有些帖子说已经解决了 这是我的密码: plessebean.java package please.bea

我想问我的代码有什么问题。在我的项目中,我遇到了有关非法州例外的问题。我的设置如下:

  • Netbeans 7.2.1+JSF2
  • Liferay 6.1 GA2与Glassfish捆绑在一起3.1.2
  • Primefaces 3.5
我使用“数据库实体”功能生成实体

很长一段时间以来,我一直在试图找到解决这个问题的方法,我总是能从jboss中获得有关问题的信息。但大多数帖子都有1~2年的历史,有些帖子说已经解决了

这是我的密码:

plessebean.java

package please.bean;
导入java.io.Serializable;
导入java.util.List;
导入javax.faces.bean.ManagedBean;
导入javax.faces.bean.ViewScoped;
导入javax.faces.model.DataModel;
导入javax.faces.model.ListDataModel;
请导入.model.CoopProspect;
导入please.util.CoopProspectFacade;
@ManagedBean(name=“pleaseBean”)
@视域
公共类PleaseBean实现可序列化{
私有静态最终长serialVersionUID=1L;
私人合作前景;
私人合作伙伴[]选定的潜在客户;
私人合作伙伴选择的潜在客户;
私人名单;
私有列表过滤器预期;
私有瞬态数据模型;
私人合作伙伴关系;
公信力{
prospect=新的CoopProspect();
prospectList=prospectFacade.findAll();
prospectModel=新的ListDataModel(prospectList);
}
公共字符串create(){
prospectFacade.create(prospect);
prospect=新的CoopProspect();
刷新列表();
返回“”;
}
public void editMode(){
prospect=选择的prospect;
}
公共空刷新列表(){
prospectList=prospectFacade.findAll();
prospectModel=新的ListDataModel(prospectList);
}
公共作废保存(){
编辑模式();
prospectFacade.edit(prospect);
prospect=新的CoopProspect();
}
公共作废删除(){
prospectFacade.remove(selectedProspects);
刷新列表();
}
公共列表getProspectList(){
返回浏览列表;
}
public void setFilteredProspectList(列表filteredProspect){
this.filteredProspect=filteredProspect;
}
公共列表getFilteredProspectList(){
返回过滤器预期;
}
公共数据模型getProspectModel(){
如果(prospectModel==null){
prospectModel=新的ListDataModel(prospectList);
}
回归模型;
}
public CoopProspect getProspect(){
if(prospect==null){
prospect=新的CoopProspect();
}
回报前景;
}
public CoopProspect[]getSelectedProspects(){
返回选定的潜在客户;
}
public void setselectedprospect(CoopProspect[]selectedprospect){
this.selectedProspects=selectedProspects;
}
public CoopProspect getSelectedProspect(){
如果(selectedProspect==null){
selectedProspect=new CoopProspect();
}
返回所选的潜在客户;
}
public void setselected潜在客户(CoopProspect selected潜在客户){
this.selectedProspect=selectedProspect;
}
}

AbstractFacade.java

/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
包请.util;
导入java.util.List;
导入javax.persistence.EntityManager;
导入javax.persistence.Query;
导入javax.persistence.criteria.CriteriaQuery;
导入javax.persistence.criteria.Root;
/**
*
*@作者信息系统
*/
公共抽象类AbstractFacade{
私有类实体类;
公共抽象外观(类entityClass){
this.entityClass=entityClass;
}
受保护的抽象EntityManager getEntityManager();
公共无效创建(T实体){
getEntityManager().persist(实体);
}
公共无效编辑(T实体){
getEntityManager().merge(实体);
}
公共无效删除(T实体){
getEntityManager().remove(getEntityManager().merge(entity));
}
公共布尔删除(T[]个实体){
对于(T实体:实体){
getEntityManager().remove(getEntityManager().merge(entity));
}
返回true;
}
公共找不到(对象id){
返回getEntityManager().find(entityClass,id);
}
公共列表findAll(){
标准查询cq=
getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
返回getEntityManager().createQuery(cq.getResultList();
}
公共列表findRange(int[]范围){
标准查询cq=
getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
Query q=getEntityManager().createQuery(cq);
q、 setMaxResults(范围[1]-范围[0]);
q、 setFirstResult(范围[0]);
返回q.getResultList();
}
公共整数计数(){
标准查询cq=
getEntityManager().getCriteriaBuilder().createQuery();
根rt=cq.from(entityClass);
选择(getEntityManager().getCriteriaBuilder().count(rt));
Query q=getEntityManager().createQuery(cq);
返回((长)q.getSingleResult()).intValue();
}
}

CoopProspectFacade.java

/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
包请.util;
导入javax.ejb.Stateless;
导入javax.persistence.EntityManager;
导入javax.persistence.PersistenceContext;
请导入.model.CoopProspect;
@无国籍
公共类CoopProspectFacade扩展了AbstractFacade{
@PersistenceContext(unitName=“plesse1pu”)
私人实体管理