Hibernate:没有为查询类找到持久类:SELECT p FROM entity.Presentation p [英] Hibernate: no persistent classes found for query class: SELECT p FROM entity.Presentation p

查看:160
本文介绍了Hibernate:没有为查询类找到持久类:SELECT p FROM entity.Presentation p的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



这是我的hibernate.cfg.xml

 <?xml version =1.0encoding =UTF-8?> 
<!DOCTYPE hibernate-configuration PUBLIC - // Hibernate / Hibernate Configuration DTD 3.0 // ENhttp://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">
< hibernate-configuration>
< session-factory>
<! - SQL方言 - >
< property name =hibernate.dialect> org.hibernate.dialect.MySQLDialect< / property>

<! - 数据库连接设置 - >
< property name =hibernate.connection.driver_class> com.mysql.jdbc.Driver< / property>
< property name =hibernate.connection.url> jdbc:mysql:// localhost:3306 / Projecten2?zeroDateTimeBehavior = convertToNull< / property>
< property name =hibernate.connection.username> MyUser< / property>
< property name =hibernate.connection.password> MyPass< / property>
< property name =hibernate.current_session_context_class> org.hibernate.context.ThreadLocalSessionContext< / property>

<! - 将所有执行的SQL回复到stdout - >
< property name =show_sql> false< / property>

<! - 映射 - >
< mapping class =entity.Presentation/>
< / session-factory>
< / hibernate-configuration>

这是我想要坚持的课程

  / * 
*要更改此许可证标题,请在项目属性中选择许可证标题。
*要更改此模板文件,请选择工具|模板
*并在编辑器中打开模板。
* /

包实体;


import java.util.List;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.eclipse.persistence.jpa.jpql.parser.DateTime;
import org.hibernate.annotations.Entity;
$ b $ **
*
* @author authorName
* /
@Entity
公开课介绍
{
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private int id;
@Temporal(TemporalType.TIMESTAMP)
private DateTime beginTime;
@Temporal(TemporalType.TIMESTAMP)
private DateTime endTime;

@ManyToOne
私人位置位置;
private int locationId;

@ManyToMany
私人列表<用户>用户;

@ManyToMany(mappedBy =presentation)
private List< Planning>尼洋河;

}

我试图执行的查询:

  Query q = session.createQuery(SELECT p FROM+ Presentation.class.getName()+p); 
presentationModel = new PresentationTableModel((List< Object []>)q.list());

这就是我如何获得会话来执行查询

  Session session = HibernateUtil.getSessionFactory()。getCurrentSession(); 

stacktrace的错误信息:

 56 [AWT-EventQueue-0] INFO org.hibernate.annotations.common.Version  -  Hibernate Commons Annotations 3.2.0.Final 
59 [AWT-EventQueue-0] INFO org .hibernate.cfg.Environment --Hibernate 3.6.10.Final
60 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - 找不到hibernate.properties
61 [AWT-EventQueue-0 ] INFO org.hibernate.cfg.Environment - 字节码提供者名称:javassist
63 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - 使用JDK 1.4 java.sql.Timestamp处理
93 [AWT-EventQueue-0]信息org.hibernate.cfg.Configuration - 从资源配置:/hibernate.cfg.xml
93 [AWT-EventQueue-0]信息org.hibernate.cfg.Configuration - 配置资源: /hibernate.cfg.xml
123 [AWT-EventQueue-0] WARN org.hibernate.util.DTDEntityResolver - 识别过时的hibernate命名空间http://hibernate.sourceforge.net/。改为使用命名空间http://www.hibernate.org/dtd/。参考Hibernate 3.6迁移指南!
141 [AWT-EventQueue-0]信息org.hibernate.cfg.Configuration - 配置的SessionFactory:null
167 [AWT-EventQueue-0]信息org.hibernate.cfg.Configuration - 未找到Hibernate验证器:忽略
169 [AWT-EventQueue-0]信息org.hibernate.cfg.search.HibernateSearchEventListenerRegister - 无法在类路径中找到org.hibernate.search.event.FullTextIndexEventListener。休眠搜索未启用。
171 [AWT-EventQueue-0]信息org.hibernate.connection.DriverManagerConnectionProvider - 使用Hibernate内置连接池(不适合生产使用)
171 [AWT-EventQueue-0] INFO org。 hibernate.connection.DriverManagerConnectionProvider - Hibernate连接池大小:20
171 [AWT-EventQueue-0]信息org.hibernate.connection.DriverManagerConnectionProvider - 自动提交模式:false
175 [AWT-EventQueue-0]信息org.hibernate.connection.DriverManagerConnectionProvider - 在URL处使用驱动程序:com.mysql.jdbc.Driver:jdbc:mysql:// localhost:3306 / Projecten2?zeroDateTimeBehavior = convertToNull
175 [AWT-EventQueue-0] INFO org .hibernate.connection.DriverManagerConnectionProvider - 连接属性:{user = root,password = ****}
340 [AWT-EventQueue-0] INFO org.hibernate.dialect.Dialect - 使用方言:org.hibernate。 dialect.MySQLDialect
346 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 数据库 - >
名称:MySQL
版本:5.6.14
major:5
minor:6
347 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 驱动程序 - >
名称:MySQL-AB JDBC驱动程序
版本:mysql-connector-java-5.1.23(修订版:$ {bzr.revision-id})
major:5
minor :1
347 [AWT-EventQueue-0] INFO org.hibernate.transaction.TransactionFactoryFactory - 使用默认事务策略(直接JDBC事务)
348 [AWT-EventQueue-0] INFO org.hibernate.transaction .TransactionManagerLookupFactory - 没有配置TransactionManagerLookup(在JTA环境中,不建议使用读写或事务性二级缓存)
348 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 自动刷新期间beforeCompletion():禁用
348 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 事务结束时自动会话关闭:已禁用
348 [AWT-EventQueue-0]信息组织。 hibernate.cfg.SettingsFactory - JDBC批处理大小:15
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 版本化数据的JDBC批更新:已禁用
348 [ AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 可滚动结果集:启用
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys():enabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 连接发布模式:auto
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 最大外连接读取深度: 2
348 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 默认批量提取大小:1
348 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 生成SQL with comments:disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 按主键排序SQL更新:disabled
348 [AWT-EventQueue-0] INFO org.hibernate .cfg.SettingsFactory - 用于批处理的订单SQL插入:已禁用
348 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 查询转换器:org.hibernate.hql.ast.ASTQueryTranslatorFactory
349 [AWT-EventQueue-0] INFO org.hiberna te.hql.ast.ASTQueryTranslatorFactory - 使用ASTQueryTranslatorFactory
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 查询语言替换:{}
349 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - JPA-QL严格遵从性:禁用
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 二级缓存:已启用
349 [AWT- EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 查询缓存:已禁用
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 缓存区域工厂:org.hibernate.cache.impl。 NoCachingRegionFactory
350 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 优化缓存以减少最小投入:禁用
350 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 结构化二级高速缓存条目:已禁用
353 [AWT-EventQueue-0]信息org.hibernate.cfg.SettingsFactory - 统计信息:已禁用
353 [AWT-EventQueue-0] INFO org.hibernate.cfg .SettingsFactory - 已删除实体合成标识符回滚:已禁用
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 默认实体模式:pojo
353 [AWT-EventQueue-0] INFO org.hibernate。 cfg.SettingsFactory - 命名查询检查:启用
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - 检查核心的可空性(当Bean Validation打开时应该禁用):已启用
364 [AWT-EventQueue-0] INFO org.hibernate.impl.SessionFactoryImpl - 构建会话工厂
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[clob]覆盖previous:org .hibernate.type.ClobType @ 38701425
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[java.sql.Clob]覆盖以前:org.hibernate.type.ClobType@38701425
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[wrapper_characters_clob]覆盖以前的:org.hibernate.type.CharacterArrayClobType@463aa615
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[materialized_clob]覆盖以前的:org.hibernate.type.MaterializedClobType@346dd0b8
367 [AWT-EventQueue-0]信息org.hibernate.type.BasicTypeRegistry - 类型注册[characters_clob]覆盖以前的:org.hibernate.type.PrimitiveCharacterArrayClobType@15a1faec
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[blob ]覆盖以前的:org.hibernate.type.BlobType@3d60a70c
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[java.sql.Blob]覆盖之前的:org.hibernate。 type.BlobType@3d60a70c
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[materialized_blob]覆盖以前的:org.hibernate.type.MaterializedBlobType@1477244f
367 [AWT -EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - 类型注册[wrapper_materialized_blob]覆盖previ ous:org.hibernate.type.WrappedMaterializedBlobType@19f0c908
390 [AWT-EventQueue-0] INFO org.hibernate.impl.SessionFactoryObjectFactory - 不绑定工厂到JNDI,没有配置JNDI名称
438 [AWT- EventQueue-0] WARN org.hibernate.hql.QuerySplitter - 没有为查询类找到持久类:SELECT p FROM entity.Presentation p

我一直在寻找相当多的东西来解决这个问题,但我不习惯使用hibernate,而且我遵循他们关于映射的文档文章,但它似乎没有用。

解决方案

这里,实体的名称默认为简单的类名称。它不包含软件包的名称。在这种情况下,实体的名称是 Presentation



方法 getName 在java.lang.Class中也返回包,所以它是在这种情况下没有用。这种情况下更好的方法是 getSimpleName ()

  session.createQuery(SELECT p FROM+ Presentation.class.getSimpleName()+ p); 

请注意,可能没有理由使用org.hibernate.annotations。实体而不是 javax.persistence.Entity


I am trying to persist my classes but it always throws me this error.

This is my hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <!-- SQL dialect -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

    <!-- Database connection settings -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/Projecten2?zeroDateTimeBehavior=convertToNull</property>
    <property name="hibernate.connection.username">MyUser</property>
    <property name="hibernate.connection.password">MyPass</property>
    <property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">false</property>

    <!-- Mappings -->
    <mapping class="entity.Presentation"/>
  </session-factory>
</hibernate-configuration>

And this is the class i am trying to persist

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package entity;


import java.util.List;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.eclipse.persistence.jpa.jpql.parser.DateTime;
import org.hibernate.annotations.Entity;

/**
 *
 * @author authorName
 */
@Entity
public class Presentation 
{
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    private int id;
    @Temporal(TemporalType.TIMESTAMP)
    private DateTime beginTime;
    @Temporal(TemporalType.TIMESTAMP)
    private DateTime endTime;

    @ManyToOne
    private Location location;
    private int locationId;

    @ManyToMany
    private List<User> users;

    @ManyToMany(mappedBy = "presentations")
    private List<Planning> plannings;

}

The query i am trying to execute:

Query q = session.createQuery("SELECT p FROM " + Presentation.class.getName() + " p");
presentationModel = new PresentationTableModel((List<Object[]>)q.list());

And this is how i get the session to execute queries

Session session = HibernateUtil.getSessionFactory().getCurrentSession();

stacktrace of the error message:

56 [AWT-EventQueue-0] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
59 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - Hibernate 3.6.10.Final
60 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - hibernate.properties not found
61 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
63 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
93 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
93 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
123 [AWT-EventQueue-0] WARN org.hibernate.util.DTDEntityResolver - recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
141 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
167 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring
169 [AWT-EventQueue-0] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
171 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
171 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
171 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
175 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/Projecten2?zeroDateTimeBehavior=convertToNull
175 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****}
340 [AWT-EventQueue-0] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect
346 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Database ->
       name : MySQL
    version : 5.6.14
      major : 5
      minor : 6
347 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Driver ->
       name : MySQL-AB JDBC Driver
    version : mysql-connector-java-5.1.23 ( Revision: ${bzr.revision-id} )
      major : 5
      minor : 1
347 [AWT-EventQueue-0] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
348 [AWT-EventQueue-0] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
348 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
349 [AWT-EventQueue-0] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
349 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
350 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
350 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
353 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
364 [AWT-EventQueue-0] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [clob] overrides previous : org.hibernate.type.ClobType@38701425
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Clob] overrides previous : org.hibernate.type.ClobType@38701425
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_characters_clob] overrides previous : org.hibernate.type.CharacterArrayClobType@463aa615
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_clob] overrides previous : org.hibernate.type.MaterializedClobType@346dd0b8
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [characters_clob] overrides previous : org.hibernate.type.PrimitiveCharacterArrayClobType@15a1faec
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [blob] overrides previous : org.hibernate.type.BlobType@3d60a70c
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [java.sql.Blob] overrides previous : org.hibernate.type.BlobType@3d60a70c
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [materialized_blob] overrides previous : org.hibernate.type.MaterializedBlobType@1477244f
367 [AWT-EventQueue-0] INFO org.hibernate.type.BasicTypeRegistry - Type registration [wrapper_materialized_blob] overrides previous : org.hibernate.type.WrappedMaterializedBlobType@19f0c908
390 [AWT-EventQueue-0] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
438 [AWT-EventQueue-0] WARN org.hibernate.hql.QuerySplitter - no persistent classes found for query class: SELECT p FROM entity.Presentation p

I've been searching for quite a bit to fix this but i am not used to using hibernate and i followed their documentation article about mapping but it didn't seem to work.

解决方案

As documented for example here, name of the entity defaults to the simple class name. It does not contain name of the package. In this case name of the entity is Presentation.

Method getName in java.lang.Class returns also package, so it is not useful in this case. Better ḿethod for this case is getSimpleName():

session.createQuery("SELECT p FROM " + Presentation.class.getSimpleName() + " p");

As a side note, likely there is no reason to use org.hibernate.annotations.Entity instead of javax.persistence.Entity.

这篇关于Hibernate:没有为查询类找到持久类:SELECT p FROM entity.Presentation p的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆