Spring boot / JPA соединение с MariaDB не может создавать сущности - PullRequest
0 голосов
/ 04 декабря 2018

Привет, я только начинаю с весны и JPA.И все, с чего я хочу начать, это подключиться к удаленной базе данных и создать сущности, которые есть в моем весеннем приложении.

У меня есть сервер Maria DB 5.7.24 в VPS.

Я создал пакет с именем domain в / JpaTest / src / main / java / 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

Таким образом, программа запускается как загрузочное приложение Spring.Но это не создает таблицы.Я пытался использовать spring.jpa.hibernate.ddl-auto=update, чтобы изменить диалект на другие версии, даже пойти с org.hibernate.dialect.MariaDBDialect, или org.mariadb.jdbc.Driver и более.

Но это просто не может работать.Когда я использую любой диалект или драйвер, кроме MySQL, программа не может работать, потому что не может их найти.Когда я использую настройки выше, он выполняется, но ничего не делает.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы должны добавить @Column(name = "name") перед столбцом и проверить, что класс конфигурации вашего приложения имеет: @EntityScan("some.known.persistence")

...