当前位置: 首页 > 知识库问答 >
问题:

Hibernate OnDelete Cascade不适用MySql,但适用于postgres和Ms-Sql

贺宝
2023-03-14
@OnDelete(action = OnDeleteAction.CASCADE)
//Thread Entity
@Id
@GeneratedValue
@Column(name = "thread_id")
private int ThreadID;
//Post Entity
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "post_id")
private int PostID;

@OneToOne()
@OnDelete(action = OnDeleteAction.CASCADE)
private thread ThreadID;
session.delete(session.load(thread.class,1));

请帮我想办法摆脱这一切。

共有1个答案

邢和光
2023-03-14

这就是我在Spring Boot的基础上解决这个问题的方法。

解决方案

// application.properties  
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
// MySQLDialect.java
@Override
    public boolean supportsCascadeDelete() {
        return false;
    }

// MySQL5InnoDBDialect.java
@Override
    public boolean supportsCascadeDelete() {
        return true;
    }
 类似资料:
  • 我在pgsql上有一个名为(超过100万行)的表,但我也有很多重复项。我选择了3个字段:,,。 我想用和随机选择它们,所以我这样做是为了在我的PHP脚本中节省一些内存。 但我如何才能做到这一点,这样它只会给我一个名单,没有重复的名字。 例如,将返回,但不会返回。名称字段是最重要的,每次我选择时必须在列表中唯一,并且必须是随机的。 我试过使用,但它希望我在中或在一个加积函数中也有id和元数据,但我不

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 列名称的类型为int[] 上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql 尝试的hsqldb版本:2.2.9和2.3.0 在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。

  • 问题内容: 以下代码可在Google Chrome beta和IE 7中运行。但是,Firefox似乎对此有问题。我怀疑这是我的CSS文件如何包含的问题,因为我知道Firefox对跨域导入不太友好。 但这仅仅是静态HTML,而没有跨域问题。 在我的landing-page.html上,我像这样进行CSS导入: 在main.css中,我还有另一个导入,例如: 在type.css中,我有以下声明: 我

  • 我在Windows 2012R2上运行MySQL 5.6.26,mysql.ini一切都配置为使用UTF-8 Unicode(utf8)。 我用这张桌子: 当我执行以下SQL命令时: 数据库会将以下数据返回给我: 118 Veneanar Forscherliga 3 5 0 56 但它不应该返回任何内容,因为“Venean–r”没有条目。 这个问题发生在PHPMyAdmin中的PHP脚本(使用P