Spring boot/JPA 与 MariaDB 的连接无法创建实体
Spring boot/JPA connection to MariaDB cant create the entities
您好,我刚开始使用 spring 和 JPA。我想要开始的是连接到远程数据库并创建我在 spring 应用程序上拥有的实体。
我在 VPS.
中有一个 Maria DB 服务器 5.7.24
我在 /JpaTest/src/main/java/domain 创建了一个名为 domain 的包。在里面我有一个对象 - 像这样的实体。
package domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity @Table(name="users")
public class User
{
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String username;
private String password;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
而我的application.properties是这样的...
spring.datasource.url=jdbc:mysql://URL:Port/dbName
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.username=admin_customer
spring.datasource.password=*********
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql = true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
像这样,程序 运行s 作为 Spring 启动应用程序。但它没有创建 table。我尝试使用 spring.jpa.hibernate.ddl-auto=update
将方言更改为其他版本,甚至使用 org.hibernate.dialect.MariaDBDialect
或 org.mariadb.jdbc.Driver
等等。
但这就是行不通。当我使用 MySQL 以外的任何方言或驱动程序时,程序无法 运行 因为它找不到它们。当我使用上面的设置时,它会执行但什么也不做。
您应该在列前添加 @Column(name = "name")
并检查您的应用程序配置 class 有:@EntityScan("some.known.persistence")
您好,我刚开始使用 spring 和 JPA。我想要开始的是连接到远程数据库并创建我在 spring 应用程序上拥有的实体。
我在 VPS.
中有一个 Maria DB 服务器 5.7.24我在 /JpaTest/src/main/java/domain 创建了一个名为 domain 的包。在里面我有一个对象 - 像这样的实体。
package domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity @Table(name="users")
public class User
{
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String username;
private String password;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
而我的application.properties是这样的...
spring.datasource.url=jdbc:mysql://URL:Port/dbName
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.username=admin_customer
spring.datasource.password=*********
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql = true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
像这样,程序 运行s 作为 Spring 启动应用程序。但它没有创建 table。我尝试使用 spring.jpa.hibernate.ddl-auto=update
将方言更改为其他版本,甚至使用 org.hibernate.dialect.MariaDBDialect
或 org.mariadb.jdbc.Driver
等等。
但这就是行不通。当我使用 MySQL 以外的任何方言或驱动程序时,程序无法 运行 因为它找不到它们。当我使用上面的设置时,它会执行但什么也不做。
您应该在列前添加 @Column(name = "name")
并检查您的应用程序配置 class 有:@EntityScan("some.known.persistence")