加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

轻量级ORM而不是休眠 – 健壮且敏捷

发布时间:2020-12-15 05:19:49 所属栏目:Java 来源:网络整理
导读:我用谷歌搜索了“轻量级ORM for j2ee”,并从其中一个结果中找到了这个页面 http://java-source.net/open-source/persistence.我的目标是找到一个比Hibernate更轻的ORM框架,并提供一些对我来说最重要的休眠功能,例如:自动生成表格和延迟初始化,并且不会给我
我用谷歌搜索了“轻量级ORM for j2ee”,并从其中一个结果中找到了这个页面 http://java-source.net/open-source/persistence.我的目标是找到一个比Hibernate更轻的ORM框架,并提供一些对我来说最重要的休眠功能,例如:自动生成表格和延迟初始化,并且不会给我带来表格和地图的困难.采集.同样重要的是,即将到来的ORM周围有一个社区,这使得找到错误和错误的解决方案变得更快.并且重要的是新的orm从我这里隐藏数据库(需要更少的sql技能并且更多OO).
到目前为止,我已经缩小了对iBatis(myBatis)和ORMLite的选择范围.
我希望这个ORM用于我的新项目,这是一个j2ee中的桌面应用程序,所以重要的是这个orm的启动时间要少于其他人(不像Hibernate,这需要花费很多时间才能第一次运行,特别是当你有很多表)

日Thnx

解决方法

我担心你可能误解了概念.你基本上不是在寻找Hibernate的替代品,而是ORM的替代品.

Hibernate是正确ORM的极少数尝试之一. Hibernate试图解决大多数对象/关系不匹配的范例.那些是:

>粒度问题
>子类型的问题
>身份问题
>与协会有关的问题
>数据导航问题

有关更多信息,请参见Java Persistence with Hibernate.

总而言之,没有更轻的ORM这样的东西.有适当的ORM解决方案或其他解决方案 – 比如myBatis,而不是将关系模型映射到对象模型,而是将SQL语句映射到对象和方法.

不要忘记 – 您不必使用所有Hibernate功能.您可以非常轻松地将它与自定义SQL,纯JDBC以及仅使用其功能的子集混合使用.

edit1:关于慢启动

Intermezzo:我目前正在使用一个专有的ORM解决方案(不像Hibernate那样聪明),专门针对我们的应用进行了调整.最大的问题也是启动,因为将整个数据库映射到对象简直不是一件容易的事.

现在,至于Hibernate.也许你知道,Hibernate也会在启动时生成CRUD SQL语句.如果您有大数据库,这可能会影响性能.但是,您可以关闭此启动SQL生成和切换
到运行时生成的动态语句.

使用XML表示法,可以这样实现:

<class name="SomeClass"
    dynamic-insert="true"
    dynamic-update="true">
...
</class>

或者使用Hibernate注释:

@Entity
@org.hibernate.annotations.Entity(
    dynamicInsert = true,dynamicUpdate = true
)
public class SomeClass { ...

edit2:关于混合自定义SQL

引用的书籍Java Persistence with Hibernate对内容进行了深入的解释.第8章是关于使用遗留数据库的,它还提供了如何更改DML的提示(如使用自定义SQL,甚至可以用自定义SQL替换CRUD代码!)和DDL(通用运行时DDL操作).你应该偷看:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读