我想在两个实体(消费者和政策)之间建立一对多关系。一个消费者应该有几项政策。
这是我希望拥有的Consumer JSON对象的示例:
{
id : 1,
name : "Peter",
endpoint: "123.456.778",
policies: [
{
id : 1,
name: "policy 01"
},
{
id : 2,
name: "policy 02"
}
]
}
这是我到目前为止所拥有的:
政策实体
@Entity
public class Policy {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "name")
private String name;
//getters and setters
}
消费者实体
@Entity
public class Consumer {
@Id
@GeneratedValue
@Column(name = "consumer_id")
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "endpoint")
private String endpoint;
@OneToMany
@JoinColumn(??)
private List<Policy> policies;
//getters and setters
}
我认为这并不难,但是我现在尝试了几个小时而无法完成。我是Spring的新手,所以如果有人能够帮助我,我将非常感激!
@Entity
public class Consumer {
@OneToMany(mappedBy = "consumer")
private List<Policy> policies;
}
@Entity
public class Policy {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn("consumer_id")
private Consumer consumer;
}
fetch = FetchType.LAZY
不是必需的,而是可取的。
我在这里提供了一些基础知识
什么是@JoinColumn以及如何在Hibernate中使用
如果您不想Policy
拥有Consumer
:
您可以使用联接表
@Entity
public class Consumer {
@OneToMany
private List<Policy> policies;
}
@Entity
public class Policy {
}
单向关系(Policy
表将具有consumer_id
列,但Policy
类没有Consumer
)
@Entity
public class Consumer {
@OneToMany
@JoinColumn("consumer_id")
private List<Policy> policies;
}
@Entity
public class Policy {
}
另外,请记住,如果要使用a Policy
作为参考(来自词典),则需要@ManyToMany
。
问题内容: 假设我有2个表,分别称为“ twitter_user”和“ twitter_comments”。 twitter_users 具有字段:用户名和生物 twitter_comments 具有字段:用户名和注释 显然,一个用户在twitter_users中有1个条目,在twitter_comments中可能有很多条目 我想在Elastic Search中同时对twitter_users和t
问题内容: 我有两个表: 帖子: 和标签: posts.tags和tags.tag都是文本类型。我想要的是从tag.tag到帖子中的行的关系,这样查询将给我对应于帖子1和2的行,查询给我2和3,给我1和3,依此类推。 我已经看过外键,但是我不确定这是我想要的。(老实说,我不确定它是做什么的)。据我所知,外键必须等于表的主键/唯一列。但是我想要的是诸如此类的所有行。我还希望能够获得以b开头的所有标签
这是项目迁移 这是时间表 这样用户就可以迁移了 这是我的项目模型 这是我的时间表模型: 这是我的用户模型 现在,我从项目返回我的查询 这是可以的,但user_id用户在timesheets.user_id我不能得到它的时间表,并得到它 此控制器按时间表中的项目id返回项目和时间表,但时间表中的用户id我不知道如何将其输入系统
问题内容: 我有一个Firebase数据库。我有公司和承包商。一个承包商可以为多个公司工作,而一个公司可以有多个承包商。这是直接的多对多关系。我希望能够回答有关公司和承包商的问题: 给定一家公司,他们是当前的承包商。 给承包商一个他们要工作的公司。 在Firebase中构造数据的替代方法有哪些? 问题答案: 自我回答确实是对此进行建模的一种方法。它可能是在关系数据库中建模的最直接等效方法: 承办商
问题内容: 我知道在Elasticsearch中,我们可以在文档之间建立子/父关系。 然后,在建立索引时,我可以传递父代ID,以便将子文档和父文档链接起来: 无论如何,在Elasticsearch中建立多对多关系的模型吗? 数据驻留在具有以下架构的MySQL数据库中: 当前这是我的映射(请原谅数组表示法,我在PHP中使用Elastica与我的Elasticsearch服务器通信): 这种方法的问题