点火表和参考表

时间:2018-07-10 07:45:57

标签: mysql hibernate ignite

说我在MySQL中有3个表。表A,B和C。

表A为:

<script>
import alertMixin from '@/path/to/mixin/alertMixin';

export default {
  name: 'where-ever-you-want',
  mixins: [alertMixin],
};
</script>

表B为:

CREATE TABLE `table_a` (
  `a_id` bigint(20) NOT NULL AUTO_INCREMENT,
  `a_name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`a_id`)
);

CREATE TABLE `table_b` ( `b_id` BIGINT(20) NOT NULL AUTO_INCREMENT, `b_name` VARCHAR(255) DEFAULT NULL, PRIMARY KEY (`b_id`) ); A具有多对多关系,因此表B将用作它们的参考表,其中包含表C和{ {1}}。

A

使用Hibernate时,此体系结构没有问题,因为我可以将B注释与CREATE TABLE `table_c` ( `a_id` BIGINT(20) NOT NULL, `b_id` BIGINT(20) NOT NULL, PRIMARY KEY (`a_id`,`b_id`) ); 注释结合使用。 Hibernate会根据第一列和第二列的组合来对待唯一性。

但是,当我尝试使用Web控制台配置集群时,ignite不允许我对表@JoinTable进行插入,因为在其中一列中,该值已经存在,应该已经存在就像在休眠状态一样,其唯一性由两列的组合决定。

谁能告诉我如何为这些表配置缓存?

谢谢!

更新!:

我以为这个问题已经神秘地解决了,但是当我将日志记录转为冗长时,对引用表(复合键)的插入仍然失败。

Ignite刚刚允许我的应用程序继续运行,因为我已启用了设置后写功能。但是我所做的更改并没有真正保留在MySql持久存储中。

经过一番调查,我发现Ignite对复合键产生了错误的插入查询。

@ManyToMany

此查询产生语法错误,因为该查询不完整。通过覆盖Ignite的MySqlDialect并在 updPart 变量中添加了一个检查项,以设法解决此问题,如果变量为空,则可以生成正确的语法。

我不确定这是否是Ignite的错误或限制。

0 个答案:

没有答案