sql-server - 从Grails访问SQL Server 2008 View

标签 sql-server grails

我们有一个Grails项目,该项目需要从SQL Server 2008 View 中提取数据。我们只需要从 View 中进行基本选择即可。

是否有 View 的配置设置,以便我们可以将域类映射到 View ?

还是我们应该像这样使用原始SQL:

db.rows("SELECT foo, bar FROM my_view")

最佳答案

您可以使用SQL,例如另一个类似问题的答案中建议使用groovy.sql.Sql,但在域类中也可以使用。如果创建域类(使用任何明智的名称)并将其表名称指定为 View 名称,则可以从中选择。当然,您在创建和更新时会遇到问题,但是如果您只想阅读,那就可以了:

class SomeDomainClass {
   String foo
   Integer bar
   static mapping = {
      table 'my_view'
   }
}

如果您为类MyView命名,则因为命名约定适用,因此不需要映射,但这对于该类来说是一个不好的名字,因为使用它与该 View 支持的事实无关。

注意,将dbCreate设置为“create”,“create-drop”或“update”时,也会遇到问题,因为Hibernate会尝试创建表,但不会造成任何实际问题,只显示可忽略的即可错误,例如“无法创建表'my_view',因为它已经存在”。而且,一旦您开始使用数据库迁移,这根本就不是问题。

关于sql-server - 从Grails访问SQL Server 2008 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314659/

相关文章:

sql - 使用 SQLCMD.exe 实用程序在不同的凭据下运行 T-SQL 脚本

sql-server - 如何在sql server中创建一个带有结果集的表

mysql - 从 MySQL 导出并导入到 Microsoft SQL

sql - 计算两个日期之间以分钟为单位的时差(仅工作时间)

Grails Log4J 无法在不使用 Root 的情况下配置 Info Logger

grails - 如何在 Grails 中使用 Quartz Scheduler?

json - 如何从 Controller 中检索GSP View 中的JSON对象

sql-server - SQL Server Service Broker——处理 SQL Server 实例之间两阶段提交的建议

spring-boot - 如何在 Grails 4 中设置日志级别

validation - Grails命令对象未验证