Grails Domain类findBy为同一个param返回不同的结果

时间:2013-10-16 16:28:12

标签: sql-server sql-server-2008 grails gorm

好的,我们有一个Grails域(一些叫它的准域类)类映射到SQL Server 2008中的一个视图。

以下是观点:

    class DomainView {

    Integer someotherKey
    Integer someKey
    String firstName
    String lastName
    String otherName
    String address
    String city

    static mapping = {
        table name:"domain_view", schema:"sch", catalog: "cat"
        version false
    }
}

我们正尝试在视图与键之间进行基本的SELECT:

int some_key

然而,我们得到了不一致的结果。我开始调试,我甚至在同一个方法中实现了,完全相同的Grails动态findBy方法为完全相同的键返回不同的结果

DomainView dv = DomainView.findBySomeKey(key)

DomainView dv2 = DomainView.findBySomeKey(key)

DomainView dv3 = DomainView.findBySomeKey(key)

DomainView dv4 = DomainView.findBySomeKey(key)

每个findBy都会返回不同的结果。有时是正确的,但通常some_key值与传入的参数不匹配。

虽然some_key的val对于返回的项目是关闭的,但是other_name或someother_key始终是相同的。

示例:

someother_key  some_key        other_name
        5301    1901        FIRMNAME    
        5301    2051        FIRMNAME    
        5301    2052        FIRMNAME    
        5301    2053        FIRMNAME

所以我们正在搜索some_key = 1901.我们会随机获得这四个值中的任何一个,但只能从其他2个值(someother_key,other_name)相同的列表中获取。

使用findByAll还会返回从该组中随机选择的单个值。我假设它会返回一个列表,但它只返回some_key可能匹配或不匹配的单个项目。

0 个答案:

没有答案