JSF Hibernate决策支持
我喜欢JSF和Hibernate,但我在做出正确的决定时遇到了一个问题: 事实上,我为客户、房子、问题和儿子准备了POJO。 还有一位业务代表兼租赁经理。这些程序可以帮助客户报告他/她的房子可能存在的一个或多个问题 我想得到所有的客户、房子和问题。RentManager能否通过POJO查询数据库,并使POJO不包含集合?如果是,所有实用程序方法将仅在RentManager中实现?还是我必须在POJO中复制?(干的?) 这是程序的片段,我想获得帮助JSF Hibernate决策支持,hibernate,jsf,Hibernate,Jsf,我喜欢JSF和Hibernate,但我在做出正确的决定时遇到了一个问题: 事实上,我为客户、房子、问题和儿子准备了POJO。 还有一位业务代表兼租赁经理。这些程序可以帮助客户报告他/她的房子可能存在的一个或多个问题 我想得到所有的客户、房子和问题。RentManager能否通过POJO查询数据库,并使POJO不包含集合?如果是,所有实用程序方法将仅在RentManager中实现?还是我必须在POJO中复制?(干的?) 这是程序的片段,我想获得帮助 class Client{ //sett
class Client{
//setters/getters/ constructor are here.
//I have also client.hbm.xml and works fine
}
class Problem{
//properties/setters/getters/ constructor
}
class House{
//properties/setters/getters/ constructor
}
class RentManager{
//List and ArrayList for houses, and problems,
//and clients + setters/getters/DataModel for these collections
// addProblem(), updateProblem(), ..
// addClient(), updateClient(), ...
// addHouse(), updateHouse(), ...
}
目的是在我的控制器中使用RentManager,而不是直接从控制器访问POJO。
这是正确的方法吗?或者你们有什么建议?谢谢您的帮助。您不应该在RentManager类中存储您的POJO(或POJO列表)。 相反,从数据库获取实体的方法应该返回POJO或POJO的集合。 然后,您可以更新与RentManager分离的数据模型。 保存、更新或删除实体的方法应指定POJO作为参数。 e、 g:列出GetAllClient(),无效保存(客户端)
另一种设计是将服务方法(保存、读取等)放入POJO中。这就是所谓的域驱动设计,但有了这样的设计,您就不再需要RentManager了。我不明白您在这一部分中的问题:RentManager可以通过POJO查询数据库,而不使用集合吗?如果是这样的话,所有实用程序方法都将只在RentManager中实现?为了从数据库中获取数据,我们使用DAO并将数据存储到集合中[ArrayList,DataModel,…]。所以我的问题是,我是否可以在RentManager中实现该功能,并使POJO不包含集合?或者我必须将这些收藏同时包含在POJO和RentManager中吗?下一个问题是:我必须在RentManager和POJO中实现实用方法吗?例如:class House{/setter/getters/addHouse(House-House){…};}class RentManager{List House=…;addHouse(House-House){…}//?DRY?}我想至少有50%是清楚的。谢谢你是否可以添加一些你不确定是否可以做的伪代码?