我有一个工作的ORM,并能够将对象映射到我的数据库。所以它跑起来了。Hibernate需要映射类/表。已经完成
我已经创建了一个看起来像这样的网络服务:
@Stateless
@Path("user")
@LocalBean
public class userFacade {
@PersistenceContext(unitName = "Fakebook3")
private EntityManager em;
public userFacade() {
// TODO Auto-generated constructor stub
}
public void persistUser(User user){
em.persist(user);
}
@GET
@Path("edit")
@Produces(MediaType.APPLICATION_JSON)
public Response editUserInformation(
@QueryParam("userid") int userid,
@QueryParam("jobbText") String jobbText,
@QueryParam("intresseText") String intresseText,
@QueryParam("bostadText") String bostadText
){
String jobbTextEscaped = StringEscapeUtils.escapeHtml3(jobbText);
String intresseTextEscaString = StringEscapeUtils.escapeHtml3(intresseText);
String bostadTextEscaped = StringEscapeUtils.escapeHtml3(bostadText);
String sql = "UPDATE user SET job=?, interest=?, bostad=? WHERE id="+userid;
Query query = em.createQuery(sql);
query.setParameter(1, jobbTextEscaped);
query.setParameter(2, intresseTextEscaString);
query.setParameter(3, bostadTextEscaped);
query.executeUpdate();
return Response.status(200).entity("This is a callback message. Handle it!").build();
}
}
我使用的Eclipse的Web服务工具,输入paramater价值和得到这个错误:
13:23:41,184 ERROR [org.jboss.as.ejb3.invocation] (default task-4) JBAS014134: EJB Invocation failed on component userFacade for method public javax.ws.rs.core.Response se.chas.fakebook.facade.userFacade.editUserInformation(int,java.lang.String,java.lang.String,java.lang.String): javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: fakebook.user is not mapped [UPDATE fakebook.user SET user.job=?, user.interests=?, user.bostad=? WHERE id=1]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:190) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275) [wildfly-ejb3-8.1.0.Final.jar:8.1.0.Final]
等等。我试图创建使用eclipse来映射实体,并将它们放置在与实体相同的文件夹中。
但我仍然得到同样的例外。我也尝试将“... facebook.user ...”的sql语句更改为仅使用“... user ...”
我在做什么错了?
我不能在这里上传图片所以这里配备了一个工程树一个链接:http://imgur.com/4yemPZH
我试过了同样的问题 – 2014-09-03 12:08:20