Hibernate设计模式问题

kun*_*gcc 1 java hibernate

我正在使用Hibernate.它很棒.但是,假设我有一个对应于数据库表的类,只有getter和setter以及toString,相同的方法.现在我想添加一些帮助目的的方法,例如,假设我想使用一些添加的描述文本获得创建日期,如下所示.

public class Client {
        private long id;
        private Calendar creationDate;
        protected String password;

            public long getId() {
            return id;
        }

        @SuppressWarnings("unused")
        private void setId(long id) {
            this.id = id;
        }

        public Calendar getCreationDate() {
            return creationDate;
        }

        public void setCreationDate(Calendar creationDate) {
            this.creationDate = creationDate;
        }

        ..
        .. some other getters and setters that corresponding to SQL columns 

        //Here I would like to have some help methods. Is it recommended to put it here?
        public String getCreationDateInSecs() {
            return "Date in secs: " + creationDate.getTimeInMillis * 1000;
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是:我应该在哪里放置这种方法?

我应该将它与Value Object放在同一个类中,还是应该将它放在其他地方?如果你知道我的意思,我想知道最好的做法=)

最好的祝福

axt*_*avt 5

Bozho基本上概述了两种可能的方法:丰富的模型贫血模型,并建议丰富的模型作为更多的OOPish.我会在这里提倡一种贫血的方法.

您描述的功能看起来像表示层的责任.我认为将它放入与UI相关的类而不是域模型中会更好.

只要逻辑简单,将其置于域模型中就会变得无害

return "Date in secs: " + creationDate.getTimeInMillis * 1000;
Run Code Online (Sandbox Code Playgroud)

但是,假设您还需要返回本地化描述.您必须在域模型中添加对本地化设施的依赖性,这会增加代码的耦合.

因此,最好将不同层的职责分开.