我刚刚下载了 IntelliJ 的最新版本,并意识到在使用笔记本触摸板时无法滚动代码。我尝试向滚动操作添加鼠标绑定,但它不起作用。顺便说一句,我的触摸板与所有其他程序都可以正常工作。
我有和这个用户一样的问题。在每次 SpringBootTest 之后(例如,在运行 mvn test 时),Hibernate 无法删除我的内存中测试数据库的表。所需的行为是ddl-auto=create-drop,但这不起作用。
我认为原因可能是DROP TABLE语句的顺序无效,因此 Hibernate 会尝试删除其他表仍然依赖的表。
我的 data.sql 脚本只包含INSERT语句,架构是根据我的实体自动创建的。我尝试将DROP TABLE语句添加到 data.sql 的顶部,它们都通过 ( ddl-auto=create),因为我可以指定它们必须被删除的顺序。另一方面,我现在也必须在 data.sql 中指定架构创建..
有没有办法指定 drop 语句的顺序而不必指定模式创建?或者有人知道最初问题的解决方案吗?
编辑:
我想举个例子。我有一个User与其他实体(M:N、1:N、1:1)有关系的实体。创建模式时,hibernate 删除所有表,创建它们并添加约束:
// first test file:
Hibernate: drop table user if exists
... // drop other tables
Hibernate: create table user (username varchar(255) not null, ... , primary key (username))
... // create other tables
Hibernate: alter table X add …Run Code Online (Sandbox Code Playgroud)