义齿lang.IllegalArgumentException: Not a managed type: class xxx
2580 ワード
1、異常発生:
Caused by: java.lang.IllegalArgumentException: Not a managed type: class xxxx
2、異常の原因と解決方法:(1)、実体類に@Entityを追加していない
(2)エンティティで@Entity,@Table,@Id導入タイプエラー
(3)、springbootのデフォルトスキャン方式、デフォルトスキャン(application.javaエントリクラスの相対的な兄弟パッケージとそのサブパッケージ)
起動クラス:
エンティティークラス
application.yml
dao層
Caused by: java.lang.IllegalArgumentException: Not a managed type: class xxxx
Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.example.pojo.Category at org.hibernate.jpa.internal.metamodel.MetamodelImpl.managedType(MetamodelImpl.java:210) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
2、異常の原因と解決方法:(1)、実体類に@Entityを追加していない
@Entity
(2)エンティティで@Entity,@Table,@Id導入タイプエラー
import javax.persistence.*;
(3)、springbootのデフォルトスキャン方式、デフォルトスキャン(application.javaエントリクラスの相対的な兄弟パッケージとそのサブパッケージ)
- 1、 bean JpaRepository package
-2、
@ComponentScan(basePackages = "com.boot.demo.xxx.*.*")
@Controller @Service
@EnableJpaRepositories(basePackages = "com.boot.demo.xxx.*.dao")
Dao @Repository
@EntityScan("com.boot.demo.xxx.*.*")
JPA @Entity
起動クラス:
@SpringBootApplication
@EntityScan(basePackages = "com.example.pojo")
@EnableJpaRepositories(basePackages = "com.example.packagedemo.dao")
public class PackagedemoApplication {
public static void main(String[] args) {
SpringApplication.run(PackagedemoApplication.class, args);
}
}
エンティティークラス
import javax.persistence.*;
@Entity //
@Table(name ="product_ ") // product_
public class Category {
@Id //
@GeneratedValue(strategy = GenerationType.IDENTITY) //
@Column(name = "id") // product_
private int id;
@Column(name = "name") // product_ name
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
application.yml
jpa:
properties:
hibernate.hbm2ddl.auto: update
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ ?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username:
password:
dao層
/**
* extends JpaRepository, dao ProductDAO , JpaRepository, , , Product DAO,Integer Integer 。JpaRepository , ,
*/
@Repository
public interface ProductDAO extends JpaRepository {
}