相关疑难解决方法(0)

您更喜欢Java ORM,为什么?

这是一个非常开放的问题.我将开始一个新项目,我正在寻找与数据库访问集成的不同ORM.

你有什么收藏吗?你有没有建议保持清醒?

java orm

252
推荐指数
10
解决办法
20万
查看次数

使用ORM或纯SQL?

对于我开发的一些应用程序(然后继续忘记),我一直在编写纯SQL,主要用于MySQL.虽然我在SQLAlchemy中使用了python中的ORM ,但我并没有坚持使用它们.通常是文件或复杂性(从我的观点来看)阻碍了我.

我看是这样的:使用ORM来实现可移植性,如果它只是使用一种类型的数据库则使用普通SQL.在开发需要数据库支持的应用程序时,我真的在寻找何时使用ORM或SQL的建议.

考虑到这一点,使用轻量级包装来处理数据库不一致与使用ORM相比会好得多.

sql language-agnostic orm

240
推荐指数
8
解决办法
9万
查看次数

什么是ORM?我在哪里可以了解更多信息?

有人建议我为我正在设计的项目使用ORM,但是我无法找到有关它是什么或它是如何工作的信息.任何人都可以给我一个简短的解释或链接,我可以在哪里了解更多信息吗?

database language-agnostic orm

230
推荐指数
3
解决办法
18万
查看次数

什么是最常用的Java框架?

对我来说,我会根据我的经验回答这个问题.

所以,如果我要开始新项目,我会使用以下技术:

  1. AndroMDA作为MDA框架.
  2. 弹簧(DI,拦截器,石英,ACEGI,......等).
  3. 休眠.
  4. JSF.

当然,您可能需要使用一些辅助框架/库,例如:

  1. 速度.
  2. CAS; 如果你需要SSO.
  3. JXLS; 如果您需要使用XLS模板生成Excel文件的小而简单的库.
  4. Drools的; 这是人工智能规则引擎,它使用基于规则的方法来实现专家系统,并且更准确地归类为生产规则系统.

在测试方面,我将考虑以下框架:

  1. TestNG的; 您可能希望在单元测试部分使用JUnit,但TestNG不仅仅是一个统一的测试框架;
  2. WATIR或SELENIUM作为网络测试;

其他人可以提出其他选择吗?

java frameworks

13
推荐指数
1
解决办法
9213
查看次数

在*多线程*Swing应用程序中使用Hibernate进行会话管理

我正在研究我的一个(相当大的)宠物项目,一个Swing应用程序,它本质上需要多线程.几乎所有用户交互都可能通过互联网从某些远程服务器获取数据,因为我既不控制这些服务器也不控制互联网本身,因此长时间的响应时间是不可避免的.当EDT繁忙时,Swing UI显然无法重绘自身,因此所有远程服务器调用都需要由后台线程执行.

我的问题:

后台线程获取的数据使用来自本地(内存)数据库的数据"丰富"(远程服务器返回ID /对本地数据库中数据的引用).这些数据最终会传递到EDT,在那里它成为视图模型的一部分.此时某些实体未完全初始化(启用了延迟抓取),因此用户可能通过例如在JTable中滚动来触发延迟抓取.由于hibernate会话已经关闭,这将触发LazyInitializationException.我不知道什么时候用户可能会触发延迟抓取,因此按需创建会话/附加分离的对象在这里不起作用.

我通过以下方式解决了这个问题:

  • 使用单个(同步,因为Session实例不是线程安全的)整个应用程序的Session
  • 完全禁用延迟抓取

虽然这有效,但应用程序的性能却遭受了很大的损失(有时几乎无法使用).减速主要是由每个查询现在提取的大量对象引起的.

我目前正在考虑将应用程序的设计更改为"每个线程的会话",并将非EDT线程提取的所有实体迁移到EDT线程的Session(类似于Hibernate论坛上的这个帖子).

附注:与数据库更新相关的任何问题都不适用,因为所有数据库实体都是只读的(参考数据).

关于如何在这种情况下使用延迟加载Hibernate的任何其他想法?

java swing multithreading hibernate

7
推荐指数
1
解决办法
5118
查看次数