Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate表未映射,但表存在_Java_Hibernate_Jpa_Wildfly - Fatal编程技术网

Java Hibernate表未映射,但表存在

Java Hibernate表未映射,但表存在,java,hibernate,jpa,wildfly,Java,Hibernate,Jpa,Wildfly,我有一个使用Hibernate的项目,但有一个错误表没有映射 org.jboss.resteasy.spi.UnhandledException: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: TrainingRoom is not mapped [SELECT DISTINCT t FROM TrainingRoom

我有一个使用Hibernate的项目,但有一个错误表没有映射

org.jboss.resteasy.spi.UnhandledException: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: TrainingRoom is not mapped [SELECT DISTINCT t FROM TrainingRoom t ORDER BY t.id]
at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:77)
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:220)
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:175)
...
Caused by: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: TrainingRoom is not mapped [SELECT DISTINCT t FROM TrainingRoom t ORDER BY t.id]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:187)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:327)
...
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: TrainingRoom is not mapped [SELECT DISTINCT t FROM TrainingRoom t ORDER BY t.id]
at org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:79)
at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:218)
...
这是我的培训室

@Entity
@Table(name = "ppp_trainingRoom")
public class TrainingRoom {

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    @Column(name = "id", updatable = false, nullable = false)
    private Long id;

    @Column
    private String roomName;

    //GET SET Method

}
TrainingRoomEndpoint.java

@Stateless
@Path("/trainingRoom")
public class TrainingRoomEndpoint {

    @Inject
    TrainingRoomService trainingRoomService;

    @GET
    @Path("/listAll")
    @Produces("application/json")
    public Response listAll(@Context HttpServletRequest request,     @QueryParam("start") Integer startPosition, @QueryParam("max") Integer     maxResult) {
        List<TrainingRoom> trainingRoomList =     trainingRoomService.listAll(startPosition, maxResult);
        return Response.status(200).entity(trainingRoomList).build();
    }
}
TrainingRoomService.java

public List<TrainingRoom> listAll(@QueryParam("start") Integer startPosition,
        @QueryParam("max") Integer maxResult) {
    logger.info(":: listAll ::");
    TypedQuery<TrainingRoom> findAllQuery = em.createQuery(
            "SELECT DISTINCT t FROM TrainingRoom t ORDER BY t.id", TrainingRoom.class);
    if( startPosition != null ) {
        findAllQuery.setFirstResult(startPosition);
    }
    if( maxResult != null ) {
        findAllQuery.setMaxResults(maxResult);
    }
    final List<TrainingRoom> results = findAllQuery.getResultList();
    return results;
}
在我陷入这个错误之前,我有两个EntityManager,因为我有一些同义表。但我发现它不一定非得如此。所以我删除了它,我像上面的错误一样被卡住了

我怎样才能解决这个问题


提前感谢

您可以添加新属性:

 <property name="hibernate.archive.autodetection" value="class" />  
或者,您可以在持久性单元标记下为每个类指定类标记:

<class>org.cmh.itsetup.model.TrainingRoom</class>

你为什么写这个@Tablename=ppp\u trainingRoom?你的表名ppp\u trainingRoom是大写的R吗?一些数据库postgres讨厌大写表格。确保JPA实现可以看到课堂培训室。发布项目结构&persistence.xml可能会有所帮助。您能显示您的持久性文件吗?@StephaneM对此表示抱歉。我使用的数据库有下划线大小写,但我更喜欢camelCase。