gpt4 book ai didi

java - 使用hibernate 5如何在第一次执行时创建带有ROW的表?

转载 作者:行者123 更新时间:2023-11-29 16:06:52 27 4
gpt4 key购买 nike

我想在表中插入一行,就像创建表时一样,但是 Hibernate 5 成功创建表,但没有插入给定的默认行,如下例所示,

我已经尝试过下面的代码,

@Entity
public class FTPDomain {
@Id
private Long id=(long)1;

private String transferCroneTime="0 0 0 29 2 ?";

private String cleanCroneTime="0 0 0 29 2 ?";

//Setters & Getters
}

我也尝试过,

 @PrePersist
public void prePersist() {
if(id == null) id = (long)1;
if(transferCroneTime == null) transferCroneTime ="0 0 0 29 2 ?";
if(cleanCroneTime == null) cleanCroneTime = "0 0 0 29 2 ?"
}

i expect when FTPDomain.java compile and execute first time create table with a ROW where id=1, transferCroneTime=0 0 0 29 2 ? and cleanCroneTime=0 0 0 29 2 ? in the table.

谢谢...

最佳答案

@PrePersist 和 @PreUpdate 是 JPA 事件监听器,用于在实体持久化或更新之前修改实体状态,如评论中已经提到的。请参阅以下示例以了解这些事件监听器的正确用法。

@PrePersist
public void prePersist() {
creationDate = Localdatetime.now();
updatedDate = Localdatetime.now();
}

@PreUpdate
public void preUpdate() {
updatedDate = Localdatetime.now();
}

如果您想将数据预填充到新创建的架构中,那么您需要使用本文 https://thoughts-on-java.org/standardized-schema-generation-data-loading-jpa-2-1/ 中描述的机制,您可以通过参数 javax.persistence.sql-load-script-source 在 persistence.xml 中配置它,该参数指向一个 sql 脚本,该脚本通过插入语句将数据加载到数据库中。

还有 hibernate 特定的属性,它们提供与文档 https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#_importing_script_files 中描述的功能相同的功能。 ,但我建议使用 JPA 特定的。

关于java - 使用hibernate 5如何在第一次执行时创建带有ROW的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55662714/

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