Hibernate返回对象的好处?

Hibernate返回对象的好处?

最近在公司做了2个项目,先说老项目吧。用的是ssh,原生的。所以很多从数据库查询
的方法返回的都是对象,而且因为项目比较老,比较没啥表关联。比如一个界面查询学生,返回的就是这个学生的对象的集合。我发现很不合理,因为如果这个学生加了一个关联表,比如兴趣表,那么我岂不是得改这个controller service dao层3个接口的返回值吗。

还有一个就是用的公司框架封装的,查询返回值并不是一个对象,是一个List 这个map里面放的就是对象的属性跟值,如果想要加关联表的话只要在dao层改sql就可以了。

由上面2个结论,我想知道这个hibernate返回值是对象到底有啥好处?

如果要加关联表岂不是要大改方法?

你用的语言是Java,Java是面向对象的。你用的数据库是关系型数据库,是面向表以及表的关联的。hibernate自动完成对象和关系表的映射。
作为用面向对象的方式写程序的程序员,显然如果你的程序要处理的数据都是对象,是最简单直观的。
而你的程序就可以直接和对象打交道。当你的业务复杂的时候,你的对象也变得复杂。对象之前还有嵌套聚合的关系。这些全部在框架层面得到处理,你就可以省很多事情。

添加方法而不是修改,比如关联兴趣表,你可以新建hobby对象,再查询。别人的代码不要瞎改,小心被打

返回对象确实会有上面所说的问题,但是一个模型的变更,一般都是在前期才会出现频繁,后期就少了。而且目前的发展趋势,
查询类的模型不应该和基本的业务模型混在一起,这样会导致很多问题,特别是性能的问题。一个人在写表,另一人又大批量的关联表处理数据。
在目前的互联网应用里面,传统的模型已经不用了。一般数据表分为,基础数据和加工的数据。说要的录入都是存入基础数据表。然后通过各种消息任务
进行数据加工,如果需要数据读取,则读取数据加工后的表。那么数据加工后的表,可以根据需要动态扩展。也就是可以实现你传入的对象是动态对象。
可以根据你的返回结果,自动负责加载你的值。

如果有关联表你只需要在数据库添加字段,然后在生成对应的对象类,此时在所对应的类的属性的字段就是外键关联表的对象数据。

java的思想就是面向对象变成,在java中一切都是对象。对象之间也方便接下里的传值操作和一系列业务处理。
对于表之间的关联关系,目前我们公司的数据库表设计不做关联,这样可以避免接下来对数据库数据操作引出来的一些关联的问题。
用的最多的索引。