我正在使用spring-boot为未来的Angular前端开发RESTFUL API。我在将实体创建到postgres表时遇到了这个问题。
检查与数据库的连接,一切正常。使用mvn clean install和mvn spring-boot run命令可以生成正常的tomcat部署,而不会出现任何错误。但是没有创建表
这是我的代码: 实体:
@Entity
@Table(name = "questions")
public class Question {
@Id
@GeneratedValue(generator = "question_generator")
@SequenceGenerator(
name = "question_generator",
sequenceName = "question_sequence",
initialValue = 1000
)
private Long id;
@NotBlank
@Size(min = 3, max = 100)
private String title;
@Column(columnDefinition = "text")
private String description;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Question() {
}
}
application.propreties:
# ===============================
# DATABASE CONNECTION
# ===============================
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres
# ===============================
# JPA / HIBERNATE
# ===============================
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
# Fix Postgres JPA Error:
# Method org.postgresql.jdbc.PgConnection.createClob() is not yet implemented.
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
这是我的仓库:
import model.Question;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface QuestionRepository extends JpaRepository<Question, Long> {
}
答案 0 :(得分:0)
尝试将spring.jpa.hibernate.ddl-auto
属性更改为create
值。
答案 1 :(得分:0)
我能够通过更改实体包并使其对应用程序可见来解决此问题。现在,它工作正常。 主要软件包名称是:com.testAppBlaBla 实体的软件包应为com.testAppBlaBla.model
否则将不会生成实体。