簡體   English   中英

Grails:我在哪里處理可以有兩種不同表示的域類屬性?

[英]Grails: Where do I handle a domain class property that can have two different representations?

我正在編寫一種根據用戶輸入顯示從 MySQL 數據庫中獲取的產品的方法。 我的產品有一個屬性(大小),它可以由字符串、大小類型的對象(另一個包含三個浮點值的域類)表示,也可以完全丟失。 目前,我的 Product-Class 為每個表示都有一個屬性,這兩個屬性都可以為空。 在我看來,我有一個特定的地方應該顯示這個屬性。 現在我的問題是,我在哪里處理確定我對特定對象具有哪種表示的問題?

我可以在我的 gsp 模板中包含一個 if 條件,但這似乎是不好的做法。 我將能夠讓執行查詢的服務處理結果並構建單個大小屬性以傳遞給模板,但這似乎也不正確。 我的數據庫設計有問題嗎? 我是否必須更改我的域模型?

對於這個非常籠統的問題,我很抱歉,一旦我知道我到底需要在哪里更改某些內容,我絕對可以更改它。 已經非常感謝了!

解決您的問題的一種方法是使用額外的瞬態字段,該字段將在您的視圖中使用,但不會保留在您的數據庫中。

class Product {
    String sizeString
    Size sizeSize

    getSize() { sizeString ?: sizeSize.toString() }

    static transients = ['size']
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM