Java 错误9952---[nio-8081-exec-1]o.h.engine.jdbc.spi.SqlExceptionHelper:ORA-00923:未在预期位置找到FROM关键字

Java 错误9952---[nio-8081-exec-1]o.h.engine.jdbc.spi.SqlExceptionHelper:ORA-00923:未在预期位置找到FROM关键字,java,oracle,hibernate,spring-boot,jpa,Java,Oracle,Hibernate,Spring Boot,Jpa,我正在尝试从spring boot应用程序中的数据库中获取数据。我正在使用hibernate库。下面是我的实体类: @SuppressWarnings("serial") @Entity @Table(name = "MU_GM_CIRCULARS") public class GmCirculars extends ParentEntity implements Serializable { private BigDecimal id; private Date create

我正在尝试从spring boot应用程序中的数据库中获取数据。我正在使用hibernate库。下面是我的实体类:

@SuppressWarnings("serial")
@Entity
@Table(name = "MU_GM_CIRCULARS")
public class GmCirculars extends ParentEntity implements Serializable {

    private BigDecimal id;
    private Date createdOn;
    private String title;
    private BigDecimal serialNo;
    private BigDecimal year;
    private BigDecimal active;
    private BigDecimal organizationId;
    private BigDecimal showOnDashboard;

    public GmCirculars() {
        super();
    }

    public GmCirculars(BigDecimal id) {
        super();
        this.id = id;
    }


    public GmCirculars(BigDecimal id, BigDecimal createdById, Date createdOn, String title, BigDecimal serialNo,
            BigDecimal year ,BigDecimal documentId, BigDecimal typeId) {
        super();
        this.id = id;
        this.createdOn = createdOn;
        this.title = title;
        this.serialNo = serialNo;
        this.year = year;

    }

    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="MU_GM_CIRCULARS_SEQ")
    @SequenceGenerator(name="MU_GM_CIRCULARS_SEQ",sequenceName="MU_GM_CIRCULARS_SEQ",allocationSize=1)
    public BigDecimal getId() {
        return id;
    }

    public void setId(BigDecimal id) {
        this.id = id;
    }

    @Column(name="created_on")
    public Date getCreatedOn() {
        return createdOn;
    }

    public void setCreatedOn(Date createdOn) {
        this.createdOn = createdOn;
    }

    @Column(name="title")
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Column(name="serial_no")
    public BigDecimal getSerialNo() {
        return serialNo;
    }

    public void setSerialNo(BigDecimal serialNo) {
        this.serialNo = serialNo;
    }

    @Column(name="year")
    public BigDecimal getYear() {
        return year;
    }

    public void setYear(BigDecimal year) {
        this.year = year;
    }

    @Column(name = "org_id")
    public BigDecimal getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(BigDecimal organizationId) {
        this.organizationId = organizationId;
    }

    @Column(name="show_on_dashboard")
    public BigDecimal getShowOnDashboard() {
        return showOnDashboard;
    }

    public void setShowOnDashboard(BigDecimal showOnDashboard) {
        this.showOnDashboard = showOnDashboard;
    }

    @Column(name = "active")
    public BigDecimal isActive() {
        return active;
    }

    public void setActive(BigDecimal active) {
        this.active = active;
    }
}
discounts = criteria.list();
下面是具有获取数据的方法的类:

@Repository
@Transactional
@SuppressWarnings("unchecked")
public class GmCircularsDaoImpl extends ParentDAO implements IGmCircularsDAO {

@Override
public List<GmCirculars> find(GmCirculars obj, boolean activeOnly, int startOffset, int maxRows) {
    Session session = null;
    List<GmCirculars> discounts = null;

    try {
        if (null != obj) {

            session= this.getSession();

            Criteria criteria = session.createCriteria(GmCirculars.class);

            if (null != obj.getId() && !BigDecimal.ZERO.equals(obj.getId())) {
                criteria.add(Restrictions.eq("id", obj.getId()));
            }

            if (StringUtil.isNotNullOrEmpty(obj.getTitle())) {
                criteria.add(Restrictions.ilike("title", obj.getTitle(), MatchMode.ANYWHERE));
            }

            if(null != obj.getOrganizationId()) {
                criteria.add(Restrictions.eq("organizationId", obj.getOrganizationId()));
            }

            if (null != obj.getSerialNo() && !BigDecimal.ZERO.equals(obj.getSerialNo())) {
                criteria.add(Restrictions.eq("serialNo", obj.getSerialNo()));
            }

            if (null != obj.getYear() && !BigDecimal.ZERO.equals(obj.getYear())) {
                criteria.add(Restrictions.eq("year", obj.getYear()));
            }


            if (activeOnly) {
                criteria.add(Restrictions.eq("active", BigDecimal.ONE));
            } else {
                criteria.add(Restrictions.or(Restrictions.ne("active", CommonConstants.DELETED_STATUS), Restrictions.isNull("active"))); //Except for deleted ones -> NVL(active,2)
            }

            criteria.setFirstResult(startOffset);
            criteria.setMaxResults(maxRows);

            criteria.addOrder(Order.desc("id"));
            criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

            System.out.println("criteria: "+ criteria.toString());
            discounts = criteria.list();
            System.out.println("returned list from db:"+discounts);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return discounts;
}
discounts = criteria.list();
在方法
find(GmCirculars obj,boolean activeOnly,int startOffset,int maxRows)中

discounts = criteria.list();
当我运行代码时,我得到以下错误

discounts = criteria.list();
java.sql.SQLSyntaxErrorException:ORA-00942:表或视图不存在

discounts = criteria.list();
在oracle.jdbc.driver.t4cttiore.processError(t4cttiore.java:447)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.t4cttiore.processError(t4cttiore.java:396)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:195)~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 位于oracle.jdbc.driver.T4CStatement.executeforderdescripe(T4CStatement.java:876) ~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175) ~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296) ~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 在oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1498)中 ~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 位于oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406) ~[ojdbc6-11.1.0.6.0.jar:11.2.0.4.0] 位于org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) ~[commons-dbcp-1.4.jar:1.4] 位于org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:42) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentimpl.sequenceInformationList(jdbconvironmentimpl.java:403) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentimpl.(jdbconvironmentimpl.java:268) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentinitiator.initiateService(jdbconvironmentinitiator.java:114) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentinitiator.initiateService(jdbconvironmentinitiator.java:35) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) [hibernate-core-5.4.10.Final.jar:5.4.10.Final] 位于org.hibernate.boot.internal.InFlightMetadataCollectorImpl。(InFlightMetadataCollectorImpl.java:175) [hibernate-core-5.4.10.Final.jar:5.4.10.Final]

discounts = criteria.list();
2020-02-03 09:16:11.269信息9952---[restartedMain]o.h.e.t.j.p.i.JtaPlatformInitiator:HH000490:使用JtaPlatform实现:[org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2020-02-03 09:16:11.281信息9952---[restartedMain]j.LocalContainerEntityManagerFactoryBean:已初始化持久化单元“默认”的JPA EntityManagerFactory 2020-02-03 09:16:11.299信息9952---[restartedMain]o.s.b.d.a.可选LiveReload服务器:LiveReload服务器正在端口35729上运行 2020-02-03 09:16:11.367警告9952---[restartedMain]c.n.c.sources.URLConfigurationSource:没有URL将作为动态配置源进行轮询。 2020-02-03 09:16:11.368 INFO 9952---[restartedMain]c.n.c.sources.URLConfigurationSource:要启用URL作为动态配置源,请定义系统属性archaius.configurationSource.additionalUrls或使config.properties在类路径上可用。 2020-02-03 09:16:11.470警告9952---[restartedMain]默认情况下启用JpaBaseConfiguration$JpaWebConfiguration:spring.jpa.open-in-view。因此,可以在视图渲染期间执行数据库查询。显式配置spring.jpa.open-in-view以禁用此警告 2020-02-03 09:16:11.646信息9952---[restartedMain]o.s.s.concurrent.ThreadPoolTaskExecutor:正在初始化ExecutorService'applicationTaskExecutor' 2020-02-03 09:16:12.754警告9952---[restartedMain]锁定负载平衡器Clientribbon警告记录器:您已经有Ribb了