gpt4 book ai didi

grails - 使用 getter 样式方法名称将业务逻辑添加到域类

转载 作者:行者123 更新时间:2023-12-02 07:24:18 24 4
gpt4 key购买 nike

我正在尝试向 grails 域类添加方法,例如

class Item {

String name

String getReversedName() {
name.reverse()
}

}

当我尝试使用 grails 控制台加载应用程序时,出现以下错误:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory':Invocation of init method failed; nested exception is org.hibernate.PropertyNotFoundException: Could not find a setter for property reversedName in class Item ... 18 more

看起来 Hibernate 将 getReversedName() 解释为属性的 getter,但在本例中它是派生字段,因此不应保留。显然,在我的实际代码中,我公开的业务逻辑更加复杂,但与这个问题无关。我希望能够在我的代码/gps 中调用 item.reversedName。

如何在 Grails 域类中提供对方法的属性(getter)访问,而无需 Grails 尝试将其映射到 Hibernate?

最佳答案

我相信你有两个选择:

1)使用def

def getReversedName() {
name.reverse()
}

2) 将 transient 声明添加到域对象的顶部:

 static transients = [ 'reversedName' ] 

[编辑](我会选择#1)(我会选择#2);-)

关于grails - 使用 getter 样式方法名称将业务逻辑添加到域类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2920250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com