Java 微服务体系结构中的Hibernate连接表
我有两个微服务,一个是用户服务,另一个是产品服务,都有自己的数据库 产品服务数据库表 user_products (id, user_id, product_id) products (id, name)Java 微服务体系结构中的Hibernate连接表,java,sql,hibernate,microservices,hibernate-mapping,Java,Sql,Hibernate,Microservices,Hibernate Mapping,我有两个微服务,一个是用户服务,另一个是产品服务,都有自己的数据库 产品服务数据库表 user_products (id, user_id, product_id) products (id, name) User(id, name, ..) 用户与产品之间存在多对多关系。因为用户_产品是联接表,它只存在于产品服务中。我不确定如何为产品服务表创建hibernate模型对象,以便获得: 属于特定用户的所有产品列表 产品所有人名单 不知道如何用上面两个表定义@ManyToMany关系分析您的问题,
User(id, name, ..)
用户与产品之间存在多对多关系。因为用户_产品是联接表,它只存在于产品服务中。我不确定如何为产品服务表创建hibernate模型对象,以便获得:
不知道如何用上面两个表定义@ManyToMany关系分析您的问题,您不认为产品和所有者不能有多对多关系吗。 一个产品怎么可能由两个不同的所有者(用户)拥有? 通常,电子商务系统中的产品ID标识一个唯一的物理实体。即使有1个以上的类似产品(这是一个实际的生产场景),每个产品都有不同的产品ID
但是,让我们考虑两个实体相互依赖的不同情况。在这里,图片中的概念是有界上下文
每个服务都应该拥有自己的数据,并对其完整性和可变性负责。每个服务都应该独立存在,即能够在运行时环境中进行更改和移动,而不会对其他服务产生副作用 让我们举一个更清楚的例子,说明公司需要在其员工中管理项目。我们可以在这里看到两种不同的情况(现在忽略所有其他与公司相关的处理)分析您的问题,您不认为产品和所有者不能有多对多的关系吗。 一个产品怎么可能由两个不同的所有者(用户)拥有? 通常,电子商务系统中的产品ID标识一个唯一的物理实体。即使有1个以上的类似产品(这是一个实际的生产场景),每个产品都有不同的产品ID
但是,让我们考虑两个实体相互依赖的不同情况。在这里,图片中的概念是有界上下文
每个服务都应该拥有自己的数据,并对其完整性和可变性负责。每个服务都应该独立存在,即能够在运行时环境中进行更改和移动,而不会对其他服务产生副作用 让我们举一个更清楚的例子,说明公司需要在其员工中管理项目。我们可以在这里看到两种不同的情况(现在忽略所有其他与公司相关的处理)A@ManyToMany在概念上只是两个@OneToMany,从两个领域的角度来看各有一个:
user (user_id, name, ...)
user_product (user_id, product_d)
product (product_id, name, ...)
product_user (product_id, user_id)
假设我们在用户域中,我们希望向其中添加两个已由product_id标识的现有产品。您的用户服务只需将记录添加到user_products表中,并为每个记录将事件(包括product_id和user_id)发布到主题或队列或任何异步内容