作者回复: 示例和测试用,产线上这样,那就是删库跑路的节奏了……
作者回复: 个人感觉没有。但了解下gradle可以,把已经在跑的好好的项目换了就不必了
作者回复: CoffeeRepository是个接口,Spring Data JPA替我动态生成了它的实现类,并且变成了一个Bean,所以我不需要在上面加@Repository注解。你是不是没有在SpringBucksApplication类上加@EnableJpaRepositories注解?
作者回复: 不建议在事务里再做RPC啊之类的操作,你说的发MQ其实完全可以在事务提交后再做,传递些信息下去,给到具体调用MQ发送的地方就好了,你可以根据上面执行的情况决定是否发送。你要考虑这么一种场景,数据库的操作都成功了,离COMMIT前,也许就因为调用MQ失败了,然后导致整个事务回滚了,也是有可能的。
作者回复: 内部使用的话,枚举会更好一些,但是如果要发布到外面,用常量更稳妥一些,不然你的枚举一变,使用者也得跟着改
作者回复: 这些是接口,Spring Data JPA替我动态生成了实现还有对应的Bean,我在Repository是怎么变成Bean的小结里有提到过具体的原理哦
作者回复: 后面做例子时我可以查一下order
作者回复: 表结构的变更和POJO对象的变更本来就是两个不同的操作。如果你使用Hibernate的对象来创建表结构,看似少做一个动作,但其实没什么帮助。因为在生产环境中,不会用Hibernate来做DDL的,也就测试环境会这么搞搞。
作者回复: 为一些常用类库的类提供Hibernate 的类型支持,省去了自己动手写的功夫
作者回复: 你的id是不是long?我用的是Long。
作者回复: 没有看明白你的问题,能重新组织下,再描述一下不?
作者回复: 这是数据库优化的相关问题,可能丁奇会更有发言权一点。如果是我,一张大表里有一个字段要忽略大小写查找,我估计也就只能想到在存的时候就按统一的大写或者小写存,查找时把输入内容统一到存储的格式上,抱歉,一时也想不到别的。
作者回复: 我们用Java配置的方式,其实在整个课程中,你基本很难看到我用XML方式的配置。
作者回复: 多表关联的,好像我也没见过MyBatis有太好的工具处理,不过我们多表操作也不是让系统自己做的,完全编码实现
作者回复: 自己写个转换的处理器,就和Money类的处理方法一样就好了。
作者回复: 额,我自己也不知道当时是怎么想的……应该用Arrays.asList就好了:-(
作者回复: 类是单继承的,接口是可以实现很多个的
作者回复: 控制板?这是啥?我还是建议走日志的方式去输出,我演示时只是把日志输出到了Console而已,在生产中还是用日志比较好。