Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 预订未映射_Java_Hibernate_Maven - Fatal编程技术网

Java 预订未映射

Java 预订未映射,java,hibernate,maven,Java,Hibernate,Maven,当我试图获取数据库中的项目时,我得到一个错误,即预订未映射 我尝试了一切,试图把@Entity放在上面,把@MappedSuperclass放在上面,但没有任何效果 这就是错误: SEVERE: Servlet.service() for servlet [be.pxl.tafelboeker.servlets.ConfirmServlet] in context with path [/HerexamensOef] threw exception java.lang.IllegalArgume

当我试图获取数据库中的项目时,我得到一个错误,即预订未映射 我尝试了一切,试图把@Entity放在上面,把@MappedSuperclass放在上面,但没有任何效果

这就是错误:

SEVERE: Servlet.service() for servlet [be.pxl.tafelboeker.servlets.ConfirmServlet] in context with path [/HerexamensOef] threw exception
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: booking is not mapped [select b from booking as b where (b.dag=?1 AND b.uur =?2) ]
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:131)
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:155)
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:162)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:636)
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23)
    at be.pxl.tafelboeker.dao.BoekingDAO.isTafelBeschikbaar(BoekingDAO.java:44)
    at be.pxl.tafelboeker.services.BoekingService.isTafelBeschikbaar(BoekingService.java:28)
    at be.pxl.tafelboeker.services.BoekingService.boekTafel(BoekingService.java:34)
    at be.pxl.tafelboeker.servlets.ConfirmServlet.doPost(ConfirmServlet.java:59)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: booking is not mapped [select b from booking as b where (b.dag=?1 AND b.uur =?2) ]
    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)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:142)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:115)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:152)
    at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:526)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:628)
    ... 28 more
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: booking is not mapped
    at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:171)
    at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:91)
    at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:79)
    at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:321)
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3690)
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3579)
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:718)
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:574)
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:311)
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:259)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:262)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:190)
    ... 34 more
持久性

驾驶员装载机


尝试在
persistence.xml
中声明类(添加一个带有完全限定名的
标记)。是否尝试将
@Entity
添加到
Boeking
?我需要扫描configured@ArnaudDenoyelle怎么做?@Jens看看我刚试过的几句话that@DylanGomes将
be.pxl.tafelboeker.domain.Boeking添加到
标记中,就在
标记之前。尝试在
persistence.xml中声明类(添加带有完全限定名称的
标记).您是否尝试将
@Entity
添加到
Boeking
configured@ArnaudDenoyelle怎么做?@Jens看看我刚试过的几句话that@DylanGomes将
be.pxl.tafelboeker.domain.Boeking添加到
标记中,就在
标记之前。
package be.pxl.tafelboeker.domain;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;



import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.MappedSuperclass;
import javax.persistence.Table;


@Table(name="booking")
public class Boeking implements Serializable {

    @Id
    @Column(name="id")
    @GeneratedValue
    private int id;
    @Column(name="naam")
    private String naam;
    @Column(name="straat")
    private String straat;
    @Column(name="stad")
    private String stad;
    @Column(name="uur")
    private Integer uur;
    @Column(name="dag")
    private LocalDate dag;

    public Boeking(){
    }

    public String getStraat() {
        return straat;
    }

    public void setStraat(String straat) {
        this.straat = straat;
    }

    public String getStad() {
        return stad;
    }

    public void setStad(String stad) {
        this.stad = stad;
    }

    public String getNaam() {
        return naam;
    }

    public void setNaam(String naam) {
        this.naam = naam;
    }

    public Integer getUur() {
        return uur;
    }

    public void setUur(Integer uur) {
        this.uur = uur;
    }

    public LocalDate getDag() {
        return dag;
    }
    public void setDag(LocalDate dag){
        this.dag = dag;
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
    version="2.1">
    <persistence-unit name="booking" transaction-type="RESOURCE_LOCAL">
        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/booking" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="" />
            <property name="javax.persistence.schema-generation.database.action"
                value="none" />
            <!-- Hibernate specific -->
            <property name="hibernate.show_sql" value="true" />
        </properties>
    </persistence-unit>
</persistence>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>be.pxl</groupId>
  <artifactId>HerexamensOef</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>HerexamensOef Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>persistence-api</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.2.2.Final</version>
</dependency>

  </dependencies>
  <build>
    <finalName>HerexamensOef</finalName>
  </build>
</project>
package be.pxl.tafelboeker.dao;

import be.pxl.tafelboeker.domain.Boeking;

import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.Query;

import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class BoekingDAO {

    private String url;
    private String user;
    private String password;

    EntityManagerFactory emf;

    public BoekingDAO(String url, String user, String password) {
        this.url = url;
        this.user = user;
        this.password = password;
    }

    public void setDriver(String driver)
             throws ClassNotFoundException {
           Class.forName("com.mysql.jdbc.Driver");
       }

    private EntityManager getEntityManager() {
        emf = Persistence.createEntityManagerFactory("booking");
        EntityManager em = emf.createEntityManager();
        return em;

    }

    // TIP : Gebruik TemporalType.DATE voor je query parameter
    public boolean isTafelBeschikbaar(LocalDate dag, int uur) {
        EntityManager em = getEntityManager();
        Query q1 = em.createQuery("select b from booking as b where (b.dag=?1 AND b.uur =?2) ");
        q1.setParameter(1, dag);
        q1.setParameter(2, uur);
        if (q1.getMaxResults() == 0) {
            return true;
        } else {
            return false;
        }

    }

    public void boekTafel(Boeking bean) {
        EntityManager em = getEntityManager();
        em.persist(bean);
        em.close();
        emf.close();

    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }



}
package be.pxl.tafelboeker.dao;

public class DriverLoader {
    static{
        System.out.print("loading database");
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("nope");
            e.printStackTrace();
        }
    }

}