데이터베이스에서 값을 가져 오는 쿼리를 작성했으며 jsf 페이지의 DataGrid에 표시됩니다. 그러나 나는 daoimpl 층에서 예외적으로 제기된다. 배열을 문자열로 StringBuffer를 변환하고 가져 오는 동안 내가 실수를 발견 errors.Please 레이즈 내가데이터베이스에서 값을 선택할 때 예외가 발생했습니다.
DaoImpl.Java
@SuppressWarnings({ "unchecked", "null" })
@Override
public List<Barragedetail> searchBarDetails(String offCode) throws Exception {
System.out.println("Entering AssetDaoImpl");
System.out.println("Office Code"+offCode);
List<Barragedetail> barrageBList = null;
try {
barrageBList = new ArrayList<Barragedetail>();
StringBuffer queryInfo = new StringBuffer();
Query query = null;
queryInfo.append(" FROM Eimsuser eu,Barragedetail bd");
queryInfo.append(" where eu.usercode = bd.userid");
/*if(offCode != null) {
queryInfo.append(" and bd.officecode =:officCode ");
//query.setParameter("password", password);
}*/
System.out.println("String Buffer"+queryInfo.toString());
/*if(offCode != null) {
query.setParameter("officCode",offCode);
}*/
query = entityManager.createQuery(queryInfo.toString());
barrageBList=query.getResultList();
System.out.println("Barrage Size " + barrageBList.size());
for (Barragedetail barragedetail : barrageBList) {
System.out.println("BarrageName "+ barragedetail.getBarragename());
System.out.println("Head Work Type "+ barragedetail.getHeadwrktype());
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception"+e.getMessage());
}
return barrageBList;
}
StackRace
String Buffer FROM Eimsuser eu,Barragedetail bd where eu.usercode = bd.userid
java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: userid of: org.gov.tnwrd.entity.Barragedetail [ FROM org.gov.tnwrd.entity.Eimsuser eu,org.gov.tnwrd.entity.Barragedetail bd where eu.usercode = bd.userid]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1222)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:271)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365)
at $Proxy114.createQuery(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
at $Proxy114.createQuery(Unknown Source)
at org.gov.tnwrd.dao.AssetDaoImpl.searchBarrageDetails(AssetDaoImpl.java:42)
at org.gov.tnwrd.service.AssetServiceImpl.searchBarrageDetails(AssetServiceImpl.java:31)
at org.gov.tnwrd.action.AssetAction.searchBarrage(AssetAction.java:115)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.QueryException: could not resolve property: userid of: org.gov.tnwrd.entity.Barragedetail [ FROM org.gov.tnwrd.entity.Eimsuser eu,org.gov.tnwrd.entity.Barragedetail bd where eu.usercode = bd.userid]
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:81)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:75)
at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1465)
at org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:315)
at org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:487)
at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:611)
at org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:263)
at org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:210)
at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:117)
at org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:113)
at org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:880)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1330)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4471)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3947)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2047)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:831)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:617)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:301)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:244)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:254)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1770)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:268)
... 43 more
Exceptionorg.hibernate.QueryException: could not resolve property: userid of: org.gov.tnwrd.entity.Barragedetail [ FROM org.gov.tnwrd.entity.Eimsuser eu,org.gov.tnwrd.entity.Barragedetail bd where eu.usercode = bd.userid]
BarrageDetail.java
했다있다package org.gov.tnwrd.entity;
import java.io.Serializable;
import javax.persistence.*;
/**
* The persistent class for the barragedetails database table.
*
*/
@Entity
@Table(name="barragedetails")
public class Barragedetail implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(unique=true, nullable=false)
private Integer barrageid;
@Column(length=80)
private String barragename;
@Column(length=80)
private String headworkdt;
@Column(length=80)
private String headwrktype;
@Column(length=80)
private String latitude;
@Column(length=80)
private String location;
@Column(length=80)
private String longitude;
private Integer maxcanalgaugread;
private Integer maxcanalheaddisch;
private Integer maxdischdown;
private Integer maxdowngaugeread;
@Column(length=80)
private String maxgaugeupstream;
@Column(length=80)
private String officecode;
@Column(length=50)
private String season;
//bi-directional many-to-one association to Block
@ManyToOne
@JoinColumn(name="blockid")
private Block block;
//bi-directional many-to-one association to District
@ManyToOne
@JoinColumn(name="districtid")
private District district;
//bi-directional many-to-one association to Division
@ManyToOne
@JoinColumn(name="divisionid")
private Division division;
//bi-directional many-to-one association to Eimsuser
@ManyToOne
@JoinColumn(name="userid")
private Eimsuser eimsuser;
//bi-directional many-to-one association to Section
@ManyToOne
@JoinColumn(name="sectionid")
private Section section;
//bi-directional many-to-one association to Taluk
@ManyToOne
@JoinColumn(name="talukid")
private Taluk taluk;
public Barragedetail() {
}
public Integer getBarrageid() {
return this.barrageid;
}
public void setBarrageid(Integer barrageid) {
this.barrageid = barrageid;
}
public String getBarragename() {
return this.barragename;
}
public void setBarragename(String barragename) {
this.barragename = barragename;
}
public String getHeadworkdt() {
return this.headworkdt;
}
public void setHeadworkdt(String headworkdt) {
this.headworkdt = headworkdt;
}
public String getHeadwrktype() {
return this.headwrktype;
}
public void setHeadwrktype(String headwrktype) {
this.headwrktype = headwrktype;
}
public String getLatitude() {
return this.latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLocation() {
return this.location;
}
public void setLocation(String location) {
this.location = location;
}
public String getLongitude() {
return this.longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public Integer getMaxcanalgaugread() {
return this.maxcanalgaugread;
}
public void setMaxcanalgaugread(Integer maxcanalgaugread) {
this.maxcanalgaugread = maxcanalgaugread;
}
public Integer getMaxcanalheaddisch() {
return this.maxcanalheaddisch;
}
public void setMaxcanalheaddisch(Integer maxcanalheaddisch) {
this.maxcanalheaddisch = maxcanalheaddisch;
}
public Integer getMaxdischdown() {
return this.maxdischdown;
}
public void setMaxdischdown(Integer maxdischdown) {
this.maxdischdown = maxdischdown;
}
public Integer getMaxdowngaugeread() {
return this.maxdowngaugeread;
}
public void setMaxdowngaugeread(Integer maxdowngaugeread) {
this.maxdowngaugeread = maxdowngaugeread;
}
public String getMaxgaugeupstream() {
return this.maxgaugeupstream;
}
public void setMaxgaugeupstream(String maxgaugeupstream) {
this.maxgaugeupstream = maxgaugeupstream;
}
public String getOfficecode() {
return this.officecode;
}
public void setOfficecode(String officecode) {
this.officecode = officecode;
}
public String getSeason() {
return this.season;
}
public void setSeason(String season) {
this.season = season;
}
public Block getBlock() {
return this.block;
}
public void setBlock(Block block) {
this.block = block;
}
public District getDistrict() {
return this.district;
}
public void setDistrict(District district) {
this.district = district;
}
public Division getDivision() {
return this.division;
}
public void setDivision(Division division) {
this.division = division;
}
public Eimsuser getEimsuser() {
return this.eimsuser;
}
public void setEimsuser1(Eimsuser eimsuser) {
this.eimsuser = eimsuser;
}
public Section getSection() {
return this.section;
}
public void setSection(Section section) {
this.section = section;
}
public Taluk getTaluk() {
return this.taluk;
}
public void setTaluk(Taluk taluk) {
this.taluk = taluk;
}
}
'Barragedetail'에는 주석이 달린'userid'라는 필드가 있습니까? –
BarrageDetail에 사용자 ID 속성이 있습니까? – mcalex
Barragedetail.java에 userid 속성이 있습니다. –