批判Java持久化框架

简介: 批判Java持久化框架原文写得很不错,详见:http://fromapitosolution.blogspot.com/2008/12/criticism-of-java-persistence.html。

批判Java持久化框架



原文写得很不错,详见:http://fromapitosolution.blogspot.com/2008/12/criticism-of-java-persistence.html。

现简要翻译如下:
大多数应用程序都是数据驱动的,需要能够访问表、修改数据。尽管持久化框架还存在许多问题,我们在开发应用程序时还是很需要它。否则SQL代码将分散到应用程序的各个角落,导致应用程序的丑陋和不可管理性。

持久化框架建立了一个数据库层,并分隔了原来与其相关的逻辑。Java持久化解决方案主要有两个分支:
1)Java标准解决方案:JDBC、EJB、JDO。
2)其它ORM映射框架:Hibernate、Toplink、Enterprise Object Framework、iBatis等。

让我们来问一个基本问题,每个人都该问问自己,“这里还有其它的更简单、更强大的解决方案吗?”很多开发者都在尝试解决这个问题,最近的一个就是Sun,Sun公司在尝试简化EJB。实际上,这就是为什么新的框架层出不穷的原因。

Ibrahim Levent描述了Java持久化框架易犯的23个错误:
1)对象-关系匹配问题未解决
2)框架不能满足应用架构所需
3)XML被滥用
4)未利用数据库元数据
5)对象查询语言是一条错误的路线
6)不要抛出SQL异常,它不是敌人
7)多数据源的困境
8)为什么持久化对象是如此虚弱?
9)贫乏的事务管理
10)沉重的对象缓存
11)错误的锁方法
12)持久化API能更简化
13)字节码操纵问题
14)表内不需要的对象ID(OID)列,主键列已有
15)继承无意义
16)主键和外键伴随新类而建立导致许多不需要的类
17)缺少集群支持
18)缺少数据库事件
19)缺少授权认证
20)缺少动态规则
21)缺少自动代码生成的对象模型工具
22)缺少审计跟踪
23)缺少持久化对象调试工具

文章不错,详详细了解请看原文。

目录
相关文章
|
1月前
|
存储 算法 Java
Java集合框架知识点学习核心总结
Java集合框架包含Collection、List(ArrayList、LinkedList)、Set(HashSet、TreeSet)、Map(HashMap、TreeMap)接口及迭代器、泛型、比较器。迭代器用于遍历集合,泛型避免类型转换,比较器用于元素比较。集合框架还提供排序、查找、去重算法。Java 8新增Stream API、Lambda表达式和Optional类,提升集合操作效率。
19 6
|
16天前
|
缓存 Java 调度
Java并发编程学习10-任务执行与Executor框架
【4月更文挑战第12天】本篇 重点讲解任务执行和 Executor框架的基础知识
22 4
Java并发编程学习10-任务执行与Executor框架
|
6天前
|
Java API 数据安全/隐私保护
【亮剑】如何使用Java整合Spring框架来发送邮件?
【4月更文挑战第30天】本文介绍了如何在Java项目中结合Spring框架实现邮件发送功能。首先,需在`pom.xml`添加Spring和JavaMail依赖。然后,在`applicationContext.xml`配置邮件发送器,包括SMTP服务器信息。接着,创建一个使用依赖注入的`EmailService`类,通过`JavaMailSender`发送邮件。最后,调用`EmailService`的`sendSimpleEmail`方法即可发送邮件。最佳实践包括:使用配置管理敏感信息,利用`MimeMessage`构造复杂邮件,异常处理和日志记录,以及在大量发送时考虑使用邮件队列。
|
12天前
|
存储 Java 索引
深入探讨Java集合框架
深入探讨Java集合框架
深入探讨Java集合框架
|
12天前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
12天前
|
负载均衡 Java 数据库连接
Java从入门到精通:4.2.2学习新技术与框架——不断扩展自己的知识面,跟上技术的发展趋势
Java从入门到精通:4.2.2学习新技术与框架——不断扩展自己的知识面,跟上技术的发展趋势
|
12天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
12天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
12天前
|
SQL Java 数据库连接
Java从入门到精通:3.1.2深入学习Java EE技术——Hibernate与MyBatis等ORM框架的掌握
Java从入门到精通:3.1.2深入学习Java EE技术——Hibernate与MyBatis等ORM框架的掌握
|
12天前
|
开发框架 前端开发 安全
Java从入门到精通:2.2.2学习使用Spring框架进行Web应用开发
Java从入门到精通:2.2.2学习使用Spring框架进行Web应用开发