exception - Grails 奇怪的属性异常

标签 exception grails properties

希望我没有在这里放太多代码..我有一个我认为很奇怪的问题..我有 2 个类..

class Card {
    String customerNumber
    String memberId
    String cardNumber
    String issueNumber

    Boolean active = true

    // Audit info ..
    Date dateCreated
    String createdBy
    Integer uniqId
}
class CardHistory extends Card {
    static constraints = {
        note(nullable: true, size:1..500)
    }

    // History note
    String note

    // Audit info ..
    Date originalDateCreated
    String originalCreatedBy
    Integer originalUniqId

}

还有一个..

class Seat {
... 
    Card activeCard 
}

我有一些代码可以通过执行从当前记录生成历史记录

cardHistoryInstance.properties = seat.card.properties

但它抛出一个 NullPointerException ..

所以我写了这个来测试它..

def seat = Seat.get(1)

try{
    def cardHistoryEntry = new CardHistory(); 
    println cardHistoryEntry.properties
    println "properties okay  .." 

    assert seat
    println "Seat okay  ..."

    assert seat.card
    println "Card okay  ..."

    println seat.card.dateCreated
    println "Date okay  ..."

    .... and each of the other properties    

    println seat.card.customerNumber 
    println "customer number okay .. "

    println "Seems okay  .."

    println seat.card.properties    <----  Blows up with NPE here ..  
    println "Don't get to here"
}
catch(e)
{
    println  "OOps .. An error occurred ${e} .."
}

所以基本上我可以单独访问每个属性,但是通过 properties 关键字访问是给我一个 npe ..任何人都可以对此有所了解吗? Grails 1.3.6 ..

谢谢

最佳答案

不,您应该将 Seat 的属性称为 activeCard,而不是 card:

try{
    def cardHistoryEntry = new CardHistory(); 
    println cardHistoryEntry.properties
    println "properties okay  .." 

    assert seat
    println "Seat okay  ..."

    assert seat.activeCard
    println "Card okay  ..."

    println seat.activeCard.dateCreated
    println "Date okay  ..."

    println seat.activeCard.customerNumber 
    println "customer number okay .. "

    println "Seems okay  .."

    println seat.activeCard.properties
    println "Don't get to here"
}
catch(e)
{
    println  "OOps .. An error occurred ${e} .."
}

关于exception - Grails 奇怪的属性异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8496752/

相关文章:

java - ZK 代码返回 org.zkoss.zk.ui.UiException 和 java.lang.NumberFormatException?

java - 从java中的异常处理e中检索值

grails - Grails 2.1在JBoss上禁用log4j配置

google-app-engine - 如何从 Grails 服务 (JPA + GAE) 中访问 EntityManager

java - 通过批处理脚本访问属性文件

asp.net - asp.net 中的用户控件 (ascx) 及其可绑定(bind)属性未显示在数据容器中

java - SAXBuilder 构建抛出 java.lang.StringIndexOutOfBoundsException

grails - 使用Dynamodb的Grails Spring 安全性

JavaBeans 替代品?

java - 一切编译正常,但有异常错误