第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

創(chuàng)建名為“entityManagerFactory”的 bean 時(shí)出錯(cuò),無(wú)法正常運(yùn)行應(yīng)用程序

創(chuàng)建名為“entityManagerFactory”的 bean 時(shí)出錯(cuò),無(wú)法正常運(yùn)行應(yīng)用程序

精慕HU 2023-07-19 10:49:17
我的SpringBoot應(yīng)用程序無(wú)法正常運(yùn)行。嘗試更改依賴項(xiàng)、類路徑、刪除并在本地 .m2 中使用 hibernate 重新安裝整個(gè)文件夾。我正在我的應(yīng)用程序中制作 Spring boot 安全登錄系統(tǒng),在此之前,一切都很好。更改依賴項(xiàng)、類路徑、刪除并重新安裝本地 .m2 中的 hibernate 整個(gè)文件夾<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-data-jpa</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-jdbc</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-thymeleaf</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <!--SWAGGER  -->        <dependency>            <groupId>io.springfox</groupId>            <artifactId>springfox-swagger2</artifactId>            <version>2.9.2</version>            <scope>compile</scope>        </dependency>        <dependency>            <groupId>io.springfox</groupId>            <artifactId>springfox-swagger-ui</artifactId>            <version>2.9.2</version>            <scope>compile</scope>        </dependency>        <dependency>            <groupId>org.hibernate.validator</groupId>            <artifactId>hibernate-validator</artifactId>            <version>6.0.16.Final</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-entitymanager</artifactId>            <version>5.4.4.Final</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-core</artifactId>            <version>5.4.4.Final</version>        </dependency>        <dependency>            <groupId>org.hibernate.javax.persistence</groupId>            <artifactId>hibernate-jpa-2.1-api</artifactId>            <version>1.0.2.Final</version>        </dependency>
查看完整描述

3 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

問(wèn)題在于您如何定義實(shí)體。超類和子類都有@Id屬性。

繼承應(yīng)該由IS-A HAS-A 關(guān)系來(lái)管理。

因此,@Id子類中的 應(yīng)該被排除,因?yàn)樽宇惖膶?shí)例應(yīng)該可以被超類的對(duì)應(yīng)實(shí)例識(shí)別@Id,這意味著子類必須具有@Id超類的屬性(繼承樹(shù))。

此外,您的超類必須有一個(gè)@Id,因此快速解決方案是擺脫子@Id類中的 ,并在子類中添加相同的屬性(不帶@Id注釋)。

/* Class level annotations */

public class Role { //Superclass

? ? @Id

? ? @GeneratedValue(strategy = GenerationType.IDENTITY)

? ? @Column(name = "role_id")

? ? private Integer roleId;

}


/* Class level annotations */

public class UserApp? extends Role { //Subclass

? ? private Integer roleId; // Same as the @Id in superclass

}


查看完整回答
反對(duì) 回復(fù) 2023-07-19
?
蠱毒傳說(shuō)

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

確保您的 application.properties 文件具有正確的數(shù)據(jù)庫(kù) URL。還要檢查實(shí)體名稱是否正確。這是創(chuàng)建數(shù)據(jù)庫(kù)連接時(shí)的常見(jiàn)錯(cuò)誤。



查看完整回答
反對(duì) 回復(fù) 2023-07-19
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

您正在對(duì) JPA 實(shí)體使用繼承:UserApp 擴(kuò)展 Role,但同時(shí)您聲明 UserApp 應(yīng)該擁有它自己的 @Id。這里的問(wèn)題是您試圖將域?qū)嶓w的繼承映射到關(guān)系數(shù)據(jù)庫(kù)。SQL 不直接支持這種關(guān)系,而 Hibernate 或任何其他 JPA 實(shí)現(xiàn)必須將其映射到支持的概念。

您可以在 4 種策略中進(jìn)行選擇,將域模型的繼承結(jié)構(gòu)映射到不同的表結(jié)構(gòu):映射超類、每個(gè)類表、單表或連接表方法。這些策略都有其優(yōu)點(diǎn)和缺點(diǎn)。您應(yīng)該選擇最適合您的用例的一種。

同時(shí),我使用您的配置和您提供的代碼在我的計(jì)算機(jī)上重現(xiàn)了該問(wèn)題,正如我所提到的,UserApp 類中用 @Id 注釋的字段導(dǎo)致了問(wèn)題??焖傩迯?fù)選項(xiàng)之一是刪除 UserApp 中的此字段。因此,以下代碼在我的機(jī)器上運(yùn)行測(cè)試效果很好:

@NoArgsConstructor

@Data

@Entity

@Table(name = "user")

public class UserApp extends Role {


? ? private String name;

? ? private String password;

? ? private int active;


? ? @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)

? ? @JoinTable(name = "user_role",

? ? ? ? ? ? joinColumns =

? ? ? ? ? ? @JoinColumn(name = "user_id"),

? ? ? ? ? ? inverseJoinColumns = @JoinColumn(name = "role_id"))

? ? private Set<Role> roles;


? ? public UserApp(UserApp userApp) {


? ? }

}

正如您在評(píng)論之一中提到的,此錯(cuò)誤發(fā)生在默認(rèn)測(cè)試中(不是您編寫(xiě)的) - 如果您只想構(gòu)建,總是有一個(gè)選項(xiàng)可以跳過(guò)它:


mvn clean install -DskipTests


查看完整回答
反對(duì) 回復(fù) 2023-07-19
  • 3 回答
  • 0 關(guān)注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)