我在springboot中创建了我的实体
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Table;
@Table(name="users")
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String email;
}
我在application.properties中设置了数据库配置(我使用MySQL XAMPP Apache服务器)
spring.datasource.url=jdbc:mysql://localhost:3307/mediatech?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
server.port=8082
当我运行应用程序时,它创建了数据库,但没有创建表,我如何修复它并创建数据库模式表?
3条答案
按热度按时间erhoui1w1#
问题在于spring.jpa.hibernate. ddl-auto的值应该是
update
。create和update的区别:
ctehm74n2#
您可以将show-sql属性设置为true,以在日志中获取hibernate运行的SQL查询。
另外,表名“user”可能会有问题,因为这是SQL中的保留字,请尝试使用反引号或使用
@Table(name="users")
指定另一个名称同时确保实体类中有getter/setter。
hlswsv353#
如果你在Spring Boot3中使用Lombok依赖,你可能会遇到问题。
1.尽量不使用args,而使用手动创建的所有args构造函数。
1.确保存储库接口具有User类的名称和Long作为数据类型。
它应该看起来像下面这样: