兩個資料庫中有兩個表。我根據 Hibernate ORM 檔案設定我的配置。
錯誤訊息是“java.lang.IllegalStateException:未找到物體。您是否忘記使用“@Entity”注釋您的 Panache Entity 類?” 當我呼叫它時。
但是,當一個資料庫中有兩個表時,它是有效的。
package wsi.model.entity.database01;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import wsi.model.entity.database02.Address;
import javax.persistence.*;
@Entity
@Table(name = "users")
@Cacheable
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
@OneToOne(cascade = CascadeType.ALL)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "address_id", referencedColumnName = "id")
private Address address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
package wsi.model.entity.database02;
import javax.persistence.*;
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
# development database configuration
quarkus.datasource.db-kind = mysql
quarkus.datasource.username = root
quarkus.datasource.password =
quarkus.datasource.jdbc.url = jdbc:mysql://localhost:3306/database01?useSSL=false&autoreconnect=true&zeroDateTimeBehavior=convertToNull
quarkus.datasource."database02".db-kind = mysql
quarkus.datasource."database02".username = root
quarkus.datasource."database02".password =
quarkus.datasource."database02".jdbc.url = jdbc:mysql://localhost:3306/database02?useSSL=false&autoreconnect=true&zeroDateTimeBehavior=convertToNull
quarkus.hibernate-orm."database02".datasource=database02
quarkus.hibernate-orm."database02".packages=wsi.model.entity.database02
plugins {
id 'java'
id 'io.quarkus'
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
implementation 'io.quarkus:quarkus-agroal:2.10.0.Final'
implementation 'io.quarkus:quarkus-resteasy-reactive:2.10.0.Final'
implementation 'io.quarkus:quarkus-resteasy-reactive-jackson:2.10.0.Final'
implementation 'io.quarkus:quarkus-hibernate-orm:2.10.0.Final'
implementation "io.quarkus:quarkus-hibernate-orm-panache:2.10.0.Final"
implementation 'io.quarkus:quarkus-jdbc-mysql:2.10.0.Final'
implementation 'io.quarkus:quarkus-hibernate-validator:8.0.0.Alpha3'
implementation("org.jboss.logmanager:log4j2-jboss-logmanager:1.1.1.Final")
testImplementation 'io.quarkus:quarkus-junit5:2.10.0.Final'
}
group 'org.WSE'
version '1.0.0-SNAPSHOT'
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
compileJava {
options.encoding = 'UTF-8'
options.compilerArgs << '-parameters'
}
compileTestJava {
options.encoding = 'UTF-8'
}
uj5u.com熱心網友回復:
它認為,因為您正在使用該packages屬性,所以您還需要為默認的 persistenceUnit 設定它(如果您想使用相同的物體):
quarkus.hibernate-orm.packages=wsi.model.entity.database01
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/493976.html
