当前位置:  开发笔记 > 前端 > 正文

在微服务设计中打包ORM实体

如何解决《在微服务设计中打包ORM实体》经验,为你挑选了1个好方法。

我想建立一个微服务架构。我正在使用Java技术,例如Spring,Hibernate等。在这种情况下,我将实体作为Java类。例如,A微服务具有A实体,B微服务具有B实体,依此类推。因此,如果A和B之间存在一对多的关系,则需要将其中一个类导入其他类以进行声明。

// in A microservice
// need to import class of B like "import com.project.B", but can't
// because, it is different project.
@Entity
class A{
  @OneToMany
  B b;
}

//in B microservice
@Entity
class B{

}

但是,由于微服务设计,它们都位于不同的包或服务中。我是否应该创建另一个项目作为共享库,包括其中的所有实体,然后将其包含在每个微服务中?您还有其他解决方案吗?



1> Ugurcan Laci..:

经过长期研究,我找到了解决方案。我正在共享这些链接,以帮助其他人稍后查看此问题。

基本上,我们需要为外键添加一列。对于我所讨论的示例,我们需要添加b_id而不是B对象。然后我们设置B的ID。当我们需要B时,我们将使用该ID来获取它。

https://www.quora.com/How-do-I-handle-Foreign-Keys-with-a-Microservices-architecture

http://microservices.io/patterns/data/database-per-service.html?

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有