我有一个普遍的问题,因为我现在真的很沮丧和不确定。Spring Boot + JPA + mysql ...错误的方法?
我:
- 工作PHP REST API
- 丑陋的MySQL数据库
并希望将其重构为:
- 春天启动的microService(S)
- 与JPA /休眠
- MySQL DB
我有一个在本地fabric8集群上运行的Spring引导服务。
现在我想访问MySQL数据库。
创造了的POJO /与大理的Eclipse实体(Hibernate或者JPA 2.1都尝试)
试图简单CRUDRepository.findAll()
这里问题开始了(以前有很多,但确定)
我有一个命名约定问题与生成POJO和DB 通过配置来解决:
spring.jpa.hibernate.naming.implicit策略= org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl在Eclipse其中有 spring.jpa.hibernate.naming.physical策略= org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
一些JDBC驱动程序和类版本的问题是固定用手工下载的罐子。
无限循环与crudRepo.findAll()导致递归POJO关系 解决了:
设置下的每个
@OneToMany
一个@JsonManagedReference
并在每个@ManyToOne
我知道@JsonBackReference
事情会变得更复杂,因为我有DB请求需要只有一些值一个表和其他一些请求是基于几个表(加入) 而我有问题找到正确的文档描述这样的用例。 或者只需要为每个UseCase创建一个自己的POJO?
现在我的问题是:
- 我是否有正确的做法还是有更好的建议?
- 我错过了哪些文件可以解释这些问题?
由于事情从未像预期的那样工作,因为我开始这个项目,如果我做对了,我会奋斗。 尤其是MySQL的DB访问似乎与的Hibernate/Spring的启动那么多问题。
我使用JPA的工作早,觉得很舒服,但现在看来,这样不必要的复杂。
如果您能分享您的想法,我将不胜感激!
JsonBackReference是杰克逊的注解,所以如果是解决递归问题,他们是不相关的JPA或弹簧启动。您正在使用多种技术来做非常不同的事情JSON <-> Java <-> DB,并且必须具有您的模型,适用于每条腿的配置和罐子。您没有提出我们可以提供帮助的问题,因为我们不知道您采取了什么方法,而且无论如何都是基于意见。有许多JPA演示和教程可供您查看并适应您的需求。 – Chris
也许这正是我需要听到的(阅读)。有很多部分一起工作,所以我忽略概述什么症状是由什么引起的......我会花一些时间在继续之前获得更好的概述。 感谢那个小头。。 –