Using Hibernate for Existing Database

前端 未结 4 1934
隐瞒了意图╮
隐瞒了意图╮ 2021-02-02 01:43

We have an application thats already running for a long time. Now we are migrating it to Spring and possibly using Hibernate or any other ORM.

But we caught up with a qu

相关标签:
4条回答
  • 2021-02-02 01:53

    As others have pointed out an ORM is only a good choice if your database is not far from an object model.

    If that is the case then an option would be Hibernate through JPA for two resons:

    • Netbeans has a tool to generate JPA Entities from an existing database. This entities are not dependant on Netbeans so you could use a different IDE after the initial reverse engineering.

    • Spring Data JPA can avoid writing trivial queries and focus on the hard ones.

    0 讨论(0)
  • 2021-02-02 01:54

    I recommend looking at SansORM (a NoORM object mapper). It is designed for SQL-first development, which fits well with retrofitting an existing schema.

    0 讨论(0)
  • 2021-02-02 02:00

    I would say that it's irresponsible to choose Hibernate, iBatis, or anything else without knowing your requirements.

    If you don't have a solid object model, I'd say that Hibernate is a terrible choice.

    If you use stored procedures as the interface to your database, I'd say that Hibernate is a terrible choice.

    If you don't like the dynamic SQL that Hibernate generates for you, I'd say that Hibernate is a terrible choice.

    Get it? Knee-jerk reactions like the ones from those Hibernate proponents aren't a good idea.

    It might be that iBatis or Spring JDBC template is a better choice than Hibernate. You ought to become more informed about that decision and make it for your application rather than blindly listen to a mob.

    You don't have to be all or none about it, either. It's possible to implement part of your solution with one technology and the rest in another.

    I'd recommend making your persistence layer interface-based so you can swap implementations without affecting clients.

    0 讨论(0)
  • 2021-02-02 02:07

    Hibernate works well if you can model your database under your objects.
    Vice versa, you are likely to get the database model as your your domain model. You need to evaluate how distant those two models are, otherwise you are going to map the database => ORM objects => your domain model. I would avoid that.

    If I want to skip the ORM part, I find myself quite happy with JDBI which I prefer over Spring JDBC Template

    0 讨论(0)
提交回复
热议问题