gpt4 book ai didi

java - 在 Spring 应用程序中使用 Hibernate 自动创建表

转载 作者:行者123 更新时间:2023-12-02 01:22:40 25 4
gpt4 key购买 nike

我有 Spring Boot 应用程序。我将在 java 应用程序中自动创建和更新表,但我的代码不起作用。

这是application.properties

spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/exchange
spring.datasource.username=*****
spring.datasource.password=*****
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

这是我的模型。我使用所有模型都使用的通用类。

我将创建这个模型的表。

请帮助我。

@Getter
@Setter
@Entity
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Users extends Generic {

}

@Getter
@Setter
@MappedSuperclass
@SuppressWarnings("serial")
public class Generic implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true)
private Long id;

@Column(name = "createdBy")
private Long createdBy=-1L;

@Column(name = "updatedBy")
private Long updatedBy=-1L;

@Column(name = "createdDate")
@Temporal(TemporalType.TIMESTAMP)
private Date createdDate;

@Column(name = "updatedDate")
@Temporal(TemporalType.TIMESTAMP)
private Date updatedDate;
}

最佳答案

我想你忘记了@Table应保留的 POJO 上的注释,例如添加 @Table(name = "users")在您的Users上类

关于java - 在 Spring 应用程序中使用 Hibernate 自动创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57610664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com