Дизайн класса домена Grails для требований ERP - PullRequest
0 голосов
/ 31 января 2012

У меня до двух классов доменов Order и Stock.Когда акции продаются, я создаю запись в дочерней таблице StockOrder, которая содержит информацию о Order (order_id) и Stock (stock_id) и noOfStockSold.

В моем текущем дизайне я закодировал StockOrder рядом с таблицей Stock.Вы можете увидеть это ниже.

Class Stock {
    String stockName
    BigDecimal quantity
    List stockOrderList
    static hasMany = [stockOrderList: StockOrder]
}

class StockOrder {
    Stock stock
    Order order
    BigDecimal noOfStockSold
    static belongsTo = [Stock]
}

class Order {

    List saleLineItemList
    static hasMany = [saleLineItemList: SaleLineitem]
}
  1. Правильно ли я поступаю с точки зрения ERP.Как соотнести ордер с проданной акцией?
  2. Можно ли связать StockOrder с ордером также, выполнив статическую принадлежностьTo = [акция, ордер]
  3. Есть ли лучший способ сделать это или любой другойулучшения?

1 Ответ

2 голосов
/ 31 января 2012

Я бы начал с чтения:

http://grails.org/doc/2.0.x/ref/Domain%20Classes/belongsTo.html http://grails.org/doc/2.0.x/ref/Domain%20Classes/hasMany.html

В основном вы используете belongsTo и hasMany для описания двунаправленных отношений.Это позволяет вам каскадно удалять объекты, если вы того пожелаете.Я бы подумал, что в системе ERP вам не нужны каскадные функции, потому что если вы удалите Stock, вы, вероятно, не захотите удалить все связанные StockOrder.Я бы, вероятно, сохранил hasMany сторону отношений и удалил бы belongsTo, поскольку вы уже связываете StockOrder с Stock и Order.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...