Tag: 模型

使用dao接口和实现实现Generic Abstract Entity类

嘿我想有通用模型/实体类,可以从db下载类型为long元素的id。 方法是这样的: public class GenericModel { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; public static GenericModel getBy(Long id) { return JPA.em().find(GenericModel.class, id); } } 但是在子模型类中扩展的Generic模型中,我必须动态声明要在db中查找的实体类名。 我想有通用实体类,我将有常见的方法,如getById()。 该generics类将由concret实体类扩展。 我不必在每个模型类中编写相同的方法,因为它将inheritance自generics类 – 我怎么能得到这个? 这是我的DAO界面。 我不太确定: public interface GenericModelDao { public void add(T entityClass); public void update(T entityClass); public void delete(long id); public T get(long id); public List get(); […]

在Play框架中建模子包

我的models包中的类列表变得非常大,我想将一些类重构为它们自己的子包。 例如,所有表单都进入models.forms ,所有用户都进入models.users等。 但是,如果我现在声明一个采用表单的模板: @(myForm : Form[MyForm]) 这给了我一个not found: Type MyForm -error。 我试过导入这个类: @import models.form.MyForm 但这没有任何区别。

为什么在通过列表模型更新内容后,我有时会得到空白的JLists?

我有一个反复出现的问题,我有一个JList,我希望用新内容更新。 我正在使用DefaultListModel,它提供了向列表中添加新内容的方法,但是当使用这些方法时,我发现有一部分调用会导致一个完全空白的JList。 更新是否有效似乎是随机的,与发送的数据无关。 下面是一个演示问题的简单程序。 它只是生成一个增加大小的列表来更新JList,但是当运行时,列表内容似乎随机出现和消失。 据我所知,我正在遵循正确的API来做到这一点,但我想我必须有一些基本的东西我不知道。 import java.awt.BorderLayout; import javax.swing.*; public class ListUpdateTest extends JPanel { private JList list; private DefaultListModel model; public ListUpdateTest () { model = new DefaultListModel(); list = new JList(model); setLayout(new BorderLayout()); add(new JScrollPane(list),BorderLayout.CENTER); new UpdateRunner(); } public void updateList (String [] entries) { model.removeAllElements(); for (int i=0;i<entries.length;i++) { model.addElement(entries[i]); } […]

如何在Java中建模一定数量的Money

任何人都可以推荐一个类库或模拟金额的 设计模式吗? 我想它应该支持: 多种货币 一种指示小数位数的机制 数学(尊重某些舍入约定(CFR,即银行家的舍入 )) 序列化与String表示之间的序列化 ……? 即19.99美元可以序列化为“ USD-200000001999 ” (而2表示小数位数)

两个类内部几乎重复的代码

这时,我有两个类: UserHibernateDao和TicketHibernateDao : import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import model.dao.Dao; import model.entity.User; public class UserDaoHibernate extends HibernateDaoSupport implements Dao { public User get(long id) { return getHibernateTemplate().get(User.class, id); } public void save(User user) { getHibernateTemplate().save(user); } public void remove(long id) { getHibernateTemplate().delete( getHibernateTemplate().get(User.class, id)); } } 第二个: import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import model.dao.Dao; import model.entity.Ticket; public […]

MVC – 我是否需要在视图中使用Controller?

正如我在MVC的标准实现中所知,我们将Controller和Model传递给View 但我有点不同意这个想法。 我不希望我的观点知道控制器和模型(哦,不,有时可能需要模型,但我确信他可以在没有控制器知识的情况下生活) 在我看来,Controller应该管理View和Model,而Model不需要了解控制器和视图; 视图不需要知道控制器(我不排除模型,因为一些视图实现需要知道模型来监听模型中的变化)。 所以我的想法是视图不需要知道控制器 。 这是一个例子: public class MyView implements ButtonClickListener { private Controller myController; private Button myButton; // I commented out the model because we dont need it now // we are talking about using controller in the view public MyView(Controller c/*, Model m*/) { myController = c; myButton = new Button(); […]

在OO模型中添加双向关系的最佳实践

我正在努力想出一个在OO模型中添加双向关系的好方法。 假设有一个客户可以发出许多订单,也就是说客户和订单类之间存在一对多关联,需要在两个方向上遍历:对于特定客户,应该可以告诉所有订单他们已下订单,对于订单,应该可以告诉客户。 这是一段Java代码,虽然这个问题主要与语言无关: class Customer { private Set orders = new HashSet (); public void placeOrder (Order o) { orders.add(o); o.setCustomer(this); } } class Order { private Customer customer; public void setCustomer (Customer c) { customer = c; } } 让我感到困惑的是,鉴于模特有人可以轻易打电话: o.setCustomer(c); 而不是正确的 c.placeOrder(o); 形成单向链路而不是双向链路。 仍在学习OOP,任何人都可以请求帮助解决这个问题的惯用和实用方法,而不诉诸“反思”或花哨的框架(无论如何都依赖于反思)。 PS有一个类似的问题: 在我的java模型中管理双向关联 ,但我觉得它不能回答我的请求。 PSS任何链接到在db4o之上实现业务模型的现实项目的源代码都非常感谢!