作者回复: 我觉得怎么简单怎么来,能不要自己写的就不要自己写,Repository如果够用,那为什么不用呢。另外如果要执行SQL,直接用JdbcTemplate就好。
作者回复: 好像并没有说MyBatis会取代Hibernate吧,Hibernate用的也挺多的。你看到的互联网公司里用MyBatis多,很多时候是希望对SQL有更大的把控,其实,复杂了之后,Hibernate的HQL和MyBatis里写SQL差不多,MyBatis的SQL可控性还强一点。在简单的场景里,JPA这种方式还是很方便的。
作者回复: 可以不用在数据库里设置外键,映射里设置关联就好了,不是强制要和数据库的FK绑在一起的。其实,很多时候我们写的DAO都是一个表对应一个DAO,自己手工再组装关联对象的,不让ORM框架来做,个人意见,仅供参考。
作者回复: 可以看看Money的例子,参考它的实现方式,我们的Money类其实就是把数据库里的值变成了特定类型。
作者回复: 挑自己最近用到的功能来看,不要着急,一口气吃不成胖子的
作者回复: 其实可以单表操作,把DO和BO分开,先通过DAO取出DO,然后自己来组装成业务对象。
作者回复: 事务相关的都在spring-tx包里
作者回复: 关联的处理,JPA在定义模型的时候你就可以把OneToMany、ManyToOne、OneToOne等等关系定义进去,它会帮你处理的。如果是特别复杂的查询,只能写HQL了。具体的你可以看看Hibernate的文档。
作者回复: PDF在课程的GitHub上,你可以直接下载
作者回复: 我没怎么用过存储过程,你可能得依靠搜索引擎了,我大概搜了下,你试试搜索“jpa 存储过程 多个out”
作者回复: 用MyBatis吧,复杂的SQL也包装成Mapper,MyBatis配合一些工具用起来也挺方便
作者回复: 讲完那页Slide我们不就去看代码里我前面说的东西的代码了么,这就是紧接着的