如何从grails中的域类调用数据库

时间:2015-06-03 12:09:17

标签: grails

我们如何从域类调用数据库视图?

我有一个域类

SELECT a.invoice_id, a.model_no, c.email_address

FROM invoice_items a, invoices b, customer_details c

WHERE a.invoice_id = b.invoice_id AND b.customer_no = c.customer_no
AND a.model_no = "xxxxxxxx";

我需要调用另一个数据库视图,如vwAnotherview,对abc和def进行一些验证。如何从域类中为此视图调用数据库?

1 个答案:

答案 0 :(得分:0)

映射该视图以查看Domain类并在验证器中使用它。没有什么可以阻止你这样做:

static constraints = {
   abc validator: {val, obj ->
      if (!AnotherView.findByThisObject(val).someProperty) return ['somethingsWrong.withAbc']
   }
   def validator: {val, obj ->
      if (!AnotherView.findByThisObject(val).someProperty) return ['somethingsWrong.withDef']
   }
}

AnotherView是映射到视图的对象。

要了解有关验证工具的更多信息,请查看此处:http://grails.github.io/grails-doc/2.5.0/ref/Constraints/validator.html