哪个与春天一起工作的java orm是最重量级的?

时间:2011-11-25 04:43:43

标签: java hibernate spring orm

我正在构建一个非常简单的弹簧应用程序。

在ORM方面,我不需要任何关系或功能丰富的更改跟踪/会话管理或任何其他奇特的功能。

我只想要一些映射到我的db表的东西,在那里我可以在单个实体上执行基本的CRUD,如update / insert / delete / select。

我目前正在使用hibernate,只是想知道还有什么可以扩展我的知识并简化事情。

3 个答案:

答案 0 :(得分:2)

ORM工具本身并不复杂。事实上,正如您可能已经注意到的那样,它们使开发人员在正确使用时更轻松。您还没有提到您使用hibernate面临的问题,这会引发您寻找更简单的替代方案。几乎所有ORM tools都具有或多或少类似的功能/ API,因为从根本上它们解决了同样的问题。 (Spring支持Hibernate,JDO,iBatis,JPA)

这个论坛上有关于hibernate使用的非常interesting post。根据经验,如果您的模式具有较少的表(5-10作为帖子提及)并且关系不是很复杂,那么您应该避免使用ORM工具,因为这可能是一种过度杀伤。在这种情况下,JDBC就足够了。我会强烈推荐 spring JDBC(因为你已经使用了spring)。

答案 1 :(得分:1)

我不确定我的ORMLite包是否是“最”轻量级但我认为我至少会提到它是一种可能性。它有几个spring实用程序类来帮助配置,并且设计简单,轻松,轻量级。以下是春季文档:

  

http://ormlite.com/docs/spring

以下是本手册的getting started section。您还可以查看spring wiring example

以下是文档中的一些示例弹簧配置:

<!-- URL used for database, probably should be in properties file -->
<bean id="databaseUrl" class="java.lang.String">
    <!-- we are using the in-memory H2 database in this example -->
    <constructor-arg index="0" value="jdbc:h2:mem:account" />
</bean>

<!-- datasource used by ORMLite to connect to the database -->
<bean id="connectionSource" class="com.j256.ormlite.jdbc.JdbcConnectionSource"
    init-method="initialize">
    <property name="url" ref="databaseUrl" />
    <!-- probably should use system properties for these too -->
    <property name="username" value="foo" />
    <property name="password" value="bar" />
</bean>

<!-- abstract dao that is common to all defined daos -->
<bean id="baseDao" abstract="true" init-method="initialize">
    <property name="connectionSource" ref="connectionSource" />
</bean>

<!-- our daos -->
<bean id="accountDao" class="com.j256.ormlite.examples.common.AccountDaoImpl"
    parent="baseDao" />
<bean id="deliveryDao" class="com.j256.ormlite.spring.DaoFactory"
  factory-method="createDao">
    <constructor-arg index="0" ref="connectionSource" />
    <constructor-arg index="1" value="com.j256.ormlite.examples.spring.Delivery" />
</bean>

答案 2 :(得分:0)

我在Spring v3.0中使用了MyBatis v3.0.4,效果非常好。我们有很高的性能要求,它能够满足它们 - 好吧,它没有妨碍它。如果有必要,它也足够灵活,允许复杂的事物。设置非常少。