Java 错误:抽象架构类型未知
我不明白为什么会出现这样的错误:Java 错误:抽象架构类型未知,java,mysql,persistence,Java,Mysql,Persistence,我不明白为什么会出现这样的错误: //EX[2,1,["java.lang.IllegalArgumentException/1755012560", "An exception occurred while creating a query in EntityManager: \r\nException Description: Problem compiling [SELECT u FROM Users u]. \n[14, 19] The abstract schema type \x
//EX[2,1,["java.lang.IllegalArgumentException/1755012560",
"An exception occurred while creating a query in EntityManager:
\r\nException Description: Problem compiling [SELECT u FROM Users u]. \n[14, 19]
The abstract schema type \x27Users\x27 is unknown."],0,7]
看起来所有的配置都是正确的,但我还是得到了这个错误。
请帮忙。我的配置如下:
MySql表:
CREATE TABLE `users` (
`USER_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`USERNAME` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`PASSWORD` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`ENABLED` tinyint(1) NOT NULL,
`firstname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`lastname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`USER_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
package com.val.dogovora.entity;
import javax.persistence.*;
import java.io.Serializable;
@Entity
public class Users implements Serializable {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int USER_ID;
private String USERNAME;
private String PASSWORD;
private int ENABLED;
private String firstname;
private String lastname;
private String email;
public Users() {
}
public Users(String USERNAME, String PASSWORD, int ENABLED, String firstname, String lastname, String email) {
this.USERNAME = USERNAME;
this.PASSWORD = PASSWORD;
this.ENABLED = ENABLED;
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
}
Getters and Setters...
}
EntityManagerFactory emf = Persistence.createEntityManagerFactory("DogovoraPool");
EntityManager em = emf.createEntityManager();
TypedQuery<Users> query = em.createQuery("SELECT u FROM Users u", Users.class);
实体:
CREATE TABLE `users` (
`USER_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`USERNAME` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`PASSWORD` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`ENABLED` tinyint(1) NOT NULL,
`firstname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`lastname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`USER_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
package com.val.dogovora.entity;
import javax.persistence.*;
import java.io.Serializable;
@Entity
public class Users implements Serializable {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int USER_ID;
private String USERNAME;
private String PASSWORD;
private int ENABLED;
private String firstname;
private String lastname;
private String email;
public Users() {
}
public Users(String USERNAME, String PASSWORD, int ENABLED, String firstname, String lastname, String email) {
this.USERNAME = USERNAME;
this.PASSWORD = PASSWORD;
this.ENABLED = ENABLED;
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
}
Getters and Setters...
}
EntityManagerFactory emf = Persistence.createEntityManagerFactory("DogovoraPool");
EntityManager em = emf.createEntityManager();
TypedQuery<Users> query = em.createQuery("SELECT u FROM Users u", Users.class);
persistence.xml
<class>com.val.dogovora.entity.Users</class>
com.val.dogovora.entity.Users
代码:
CREATE TABLE `users` (
`USER_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`USERNAME` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`PASSWORD` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`ENABLED` tinyint(1) NOT NULL,
`firstname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`lastname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`USER_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
package com.val.dogovora.entity;
import javax.persistence.*;
import java.io.Serializable;
@Entity
public class Users implements Serializable {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int USER_ID;
private String USERNAME;
private String PASSWORD;
private int ENABLED;
private String firstname;
private String lastname;
private String email;
public Users() {
}
public Users(String USERNAME, String PASSWORD, int ENABLED, String firstname, String lastname, String email) {
this.USERNAME = USERNAME;
this.PASSWORD = PASSWORD;
this.ENABLED = ENABLED;
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
}
Getters and Setters...
}
EntityManagerFactory emf = Persistence.createEntityManagerFactory("DogovoraPool");
EntityManager em = emf.createEntityManager();
TypedQuery<Users> query = em.createQuery("SELECT u FROM Users u", Users.class);
EntityManagerFactory emf=Persistence.createEntityManagerFactory(“DogovoraPool”);
EntityManager em=emf.createEntityManager();
TypedQuery query=em.createQuery(“从用户u中选择u”,Users.class);
我想我找到了错误的原因。在我将我的项目从Eclipse转换为Intellij Idea之前。文件夹my\u project\u name/war/web if/classes
保留在旧文件中。我删除了这个文件夹,现在我的项目没有任何错误。但我不明白,如果Intellij Idea有自己的文件夹,为什么要使用这些旧类