作者回复: 示例和测试用,产线上这样,那就是删库跑路的节奏了……
作者回复: CoffeeRepository是个接口,Spring Data JPA替我动态生成了它的实现类,并且变成了一个Bean,所以我不需要在上面加@Repository注解。你是不是没有在SpringBucksApplication类上加@EnableJpaRepositories注解?
作者回复: 不建议在事务里再做RPC啊之类的操作,你说的发MQ其实完全可以在事务提交后再做,传递些信息下去,给到具体调用MQ发送的地方就好了,你可以根据上面执行的情况决定是否发送。你要考虑这么一种场景,数据库的操作都成功了,离COMMIT前,也许就因为调用MQ失败了,然后导致整个事务回滚了,也是有可能的。
作者回复: 个人感觉没有。但了解下gradle可以,把已经在跑的好好的项目换了就不必了
作者回复: 这些是接口,Spring Data JPA替我动态生成了实现还有对应的Bean,我在Repository是怎么变成Bean的小结里有提到过具体的原理哦
作者回复: 一般都是根据表结构来生成的,你说的根据SQL应该也只能解决DAO方法,Model还需要根据表结构来。 以前支付宝的Dalgen就能满足你的需求,结合了表结构和SQL。但开源的工具,我没有太多了解,只接触过完全根据表结构来生成的。
作者回复: 表结构的变更和POJO对象的变更本来就是两个不同的操作。如果你使用Hibernate的对象来创建表结构,看似少做一个动作,但其实没什么帮助。因为在生产环境中,不会用Hibernate来做DDL的,也就测试环境会这么搞搞。
作者回复: 你的id是不是long?我用的是Long。
作者回复: 这是数据库优化的相关问题,可能丁奇会更有发言权一点。如果是我,一张大表里有一个字段要忽略大小写查找,我估计也就只能想到在存的时候就按统一的大写或者小写存,查找时把输入内容统一到存储的格式上,抱歉,一时也想不到别的。
作者回复: 为一些常用类库的类提供Hibernate 的类型支持,省去了自己动手写的功夫