在MySQL数据库中手动创建行而不是通过Hibernate进行操作是否安全?

时间:2017-11-10 19:51:07

标签: hibernate grails gorm

我们正在迁移一个使用常规SQL查询从数据库读取/写入数据的旧应用程序。对于新系统,我们使用Grails / Hibernate来存储我们的数据。

我不太熟悉Hibernate如何存储东西,所以我不愿意做任何太高级的事情。但我们的其他开发人员(他既不知道Hibernate,也可能对现代开发实践缺乏了解)真的想用脚本将一组表映射到另一组。

所以我的问题是:你认为它会安全吗?#34;通过一些脚本和SQL创建行,或者更好地利用Java代码来创建和编写域对象?我知道外键有一些关系(我不太了解它),所以很难让不同的行指向对方。

2 个答案:

答案 0 :(得分:2)

您需要知道自己在做什么,但一般来说,使用SQL填充数据库是一件好事,也是一种常见的做法。通常人们需要从一个数据库导出数据并将其导入另一个数据库,这通常是使用SQL脚本完成的。

答案 1 :(得分:1)

这个词"安全"太宽泛了。

  

我知道外键有一些关系,(我不太了解它),

在您的情况下,它根本不安全!

如果表之间存在关系,那么相应地编写Grails域也是值得的,也是属性的。

在其他情况下,我们需要通过手动运行脚本来插入数据,在这种情况下,我们首先要确保没有违反数据库约束。

只要没有违规,就安全了。

无论是否手动插入数据,Hibernate都会将数据映射到相应的域。