我已经在这里阅读了关于这个主题的其他主题,但没有一个解决方案适合我.
我尝试将它放在我的hibernate.cfg.xml中:
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.spi.EntityRegion</property>
Run Code Online (Sandbox Code Playgroud)
我总是得到这个错误: 无法实例化RegionFactory [org.hibernate.cache.spi.EntityRegion]
我也从Hibernate网站上的线程尝试了大多数建议,但没有运气.
那我该怎么配置呢?
在代码中我最好把对象创建(有状态对象)和不在哪里?在什么层?
例如,我曾经在Hibernate DAO类中放置了一个对象引用,并且我被告知这是不正确的,因为DAO类不应该具有状态.州应该在'服务层'内.
有人告诉我,我不应该在重复的方法调用(如UpdateCart())上创建新对象.创建对象代价高昂,不应该随处可见代码.它应该只在初始化类型方法中.例如,如果电子商务应用程序需要购物车,请将其放入会话中.如果需要一些通用主对象,请将其放入初始化代码中.在那里创建它,让应用程序的其余部分稍后访问它的实例.每次调用时都不要创建此实例.
我对这整个设计原则感到困惑.我听到的最奇怪的事情是"应用程序不应该有状态.状态应保存在数据库所在的数据层中.真?我对这些设计概念很陌生,我不知道在哪里可以看到它以获得更多的教育.GoF的?设计模式书籍?目标是创建定性代码(即在业务中使用).
谢谢
我有以下问题:
SETCURRENTKEY真正做到?SETCURRENTKEY?SETCURRENTKEY?SETCURRENTKEY什么时候使用?我一直在Internet上和“ IT Pro Developer帮助”内部Navision文档中进行搜索,以查找该功能记录不良的功能,但找不到对我的问题的正确答案。
我唯一知道的是SETCURRENTKEY为记录变量设置当前键,并根据该键对记录集进行排序。当SETCURRENTKEY仅使用几个键使用时,它可以提高查询性能。我不知道当数据库使用索引而不使用索引时实际发生了什么。
有人告诉我这是如何SETCURRENTKEY工作的:
就像图书馆中的旧分拣卡系统一样:没有,
SETCURRENTKEY您将不必经过每个书架并手动过滤出所需的书。您会发现随机书籍混合在一起,您必须说:“不,不是这本书。是,这本书”。有了它,SETCURRENTKEY您可以拥有一个类似于旧系统的索引,在该系统中,您仅可以基于其“作者”或“艺术家”等来阅读书籍或音乐CD。
很好,但我仍然无法正确回答我的问题。