Java 如何编写php代码
我通过基于列公文包的数据库获取记录时遇到此异常Java 如何编写php代码,java,sql,hibernate,oracle10g,Java,Sql,Hibernate,Oracle10g,我通过基于列公文包的数据库获取记录时遇到此异常 查询: String queryString= "select entity from " +Name + " entity WHERE entity."+Column+" = "+ searchId.toString(); Query query = _em.createQuery(queryString); 这里有很多错误,很多重要信息丢失(实体代码?) 在您的示例中,className应该是Portfolio而不是class c
查询:
String queryString= "select entity from " +Name + " entity WHERE entity."+Column+" = "+ searchId.toString();
Query query = _em.createQuery(queryString);
这里有很多错误,很多重要信息丢失(实体代码?)
className
应该是Portfolio
而不是class com.hexgen.orm.Portfolio
(假设Portfolio
是实体的名称,不必与类名相同)。如果您正在使用someEntity.getClass().getName()
获取它,请更改为someEntity.getClass().getSimpleName()
searchColumn
应该是Portfolio
类的字段名,而不是数据库中的列名。假设PORTFOLIO
列映射到PORTFOLIO
字段,它应该是PORTFOLIO
String queryString=“从“+simpleClassName+”实体中选择实体,其中实体“+searchColumn+”=:searchId”;
Query Query=\u em.createQuery(queryString);
setParameter(“searchId”,searchId.toString())代码>
searchId.toString()
应该用单引号括起来select entity from Portfolio entity WHERE entity.portfolio = 'HEXAGON20'
您的查询语法中有几个问题,如果您查看消息,它非常明确: 您可以使用
"select entity from " +className + " entity WHERE entity."+searchColumn+" = "+ searchId.toString();
给
select entity from class com.hexgen.orm.Portfolio entity WHERE entity.PORTFOLIO = HEXAGON20
1-不应存在类
。Ir看起来像来自变量className
2-
HEXAGON20
是一个字符串值,应该是'HEXAGON20'
您可以发布出错的sql字符串吗?还要发布实体bean类。