【问题标题】:why cant able to save object in jpa为什么不能在jpa中保存对象
【发布时间】:2019-03-03 21:18:51
【问题描述】:

实际上,我正在编写一个仅用于从表中获取数据的 api,因此我不需要创建表,但我需要记录对 db 的每次调用。我刚刚评论了 spring.jpa.hibernate.ddl-auto = update在属性文件中以避免在启动时创建表。在评论 jpa 自动创建代码后,我面临保存对象的问题(id 为 0 时的情况)。

点赞

@Entity
@Table(name = "blabla")

public class ABCD{

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String name;
    private int xxx;
    private Date yyyy;
   //
   //
}

保存代码

model obj = new model(xx, yyy, zzz);
repository.save(obj);

【问题讨论】:

  • 你能修正一下格式吗,让你的问题更清楚一点?

标签: hibernate spring-boot jpa-2.0


【解决方案1】:

评论该配置条目可能不是一个好主意,根据documentation,如果没有它可以自动设置为create-drop,我建议您将其更改为none以避免任何麻烦。

您可以明确设置 spring.jpa.hibernate.ddl-auto 和标准 Hibernate 属性值为 none、validate、update、create 和 创建-删除。 Spring Boot 会根据你选择一个默认值 它是否认为您的数据库是嵌入式的。它默认为 如果没有检测到模式管理器或根本没有检测到模式管理器,则创建删除 其他情况。通过查看嵌入式数据库来检测 连接类型。 hsqldb、h2、derby是内嵌的,其他是内嵌的 不是。从内存切换到“真实”数据库时要小心 您不对表格的存在做出假设,并且 新平台上的数据。您要么必须明确设置 ddl-auto 或使用其他机制之一来初始化数据库。

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 2011-12-18
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    相关资源
    最近更新 更多