Tag: 多对多

多对多关系的属性(Hibernate)

我有实体类A和C.它们映射表tblA和tblC并且它们之间具有多对多关系,并且tblB在它们之间进行映射。 tblB包含A_ID,C_ID和SetDate,最后一个是它被设置的日期,因此是关系的属性。 我的问题是,我如何最好地映射这个属性? 目前它们未被映射,如下所示: A: @ManyToMany(targetEntity=C.class, cascade={ CascadeType.PERSIST, CascadeType.MERGE } ) @JoinTable(name=”tblB”, joinColumns=@JoinColumn(name=”A_ID”), inverseJoinColumns=@JoinColumn(name=”C_ID”) ) private Collection Cs; C: @ManyToMany( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = “Cs”, targetEntity = A.class ) private Collection As; 我怎么能得到tblB.SetDate呢? 干杯 聂

@ManyToMany(mappedBy =“foo”)

Foo有: @ManyToMany(mappedBy = “foos”) private Set bars 和酒吧有: @ManyToMany private Set foos 除了table被称为foo_bar或bar_foo之外,mappedBy属性的位置与双向关系有什么不同; 如果没有mappedBy属性,我会得到两个连接表,包括foo_bar和bar_foo。

JPA很多人都有额外的专栏

我有一个我需要解决的问题。 核心问题是我想在JPA中为JoinTable for ManyToMany关系添加额外的列。 就我而言,我有以下实体。 主题是一个简单的实体,它有许多RemoteDocument(一个RemoteDocument可能被许多主题引用,因此它应该是ManyToMany关系)。 此外,RemoteDocument实体是只读的,因为它可能只能从Oracle物化视图中读取,而且禁止更改此物化视图。 所以我想存储与某些主题相关的RemoteDocuments的顺序。 事实上,我可以使用其他实体做类似的事情: @Entity public class Topic { @Id private Long id; @Basic private String name; @OneToMany private Set association; } @Entity public class RemoteDocument { @Id private Long id; @Basic private String description; } @Entity public class TopicToRemoteDocument { @OneToOne private Topic topic; @OneToOne private RemoteDocument remoteDocument; @Basic […]

使用Java的Google App Engine中的多对多关系

是否可以在Google App Engine中的对象之间建立多对多关系? 我是GAE的新手,还在读它。 编码似乎与我以前常用的Java编码完全不同。 我已经阅读了入门留言簿教程。 那么,我可以从GAE用户那里获得任何帮助/教程/video/知识吗? 谢谢。

用Hibernate Criteria查询ManyToMany关系

我不确定如何描述这个问题,所以我认为一个例子是提出问题的最佳方式: 我有两个表与manyToMany关系: DriversLicence LicenceClass LicenceClass是“Car”,“Motorbike”和“Medium Rigid”之类的东西。 使用Hibernate Criteria,我怎样才能找到同时拥有“Car”和“Motorbike”LicenceClasses的所有许可证? 更新12/11/2008我发现使用自定义ResultTransformer可以轻松实现这一点。 但问题是结果转换器仅在查询返回其结果后才应用,它实际上不会成为SQL的一部分。 所以我想我现在的问题是“你能做我最初在SQL中描述的内容吗?是否有Hibernate Criteria模拟?”

如何持久化@ManyToMany关系 – 重复条目或分离实体

我想用ManyToMany关系来保持我的实体。 但是在持久化过程中我遇到了一些问题。 我的实体: @Entity @Table(name = “USER”) public class User implements Serializable { private static final long serialVersionUID = 1L; @Id @Column(name = “ID”) @GeneratedValue(strategy = GenerationType.IDENTITY) Long userId; @Column(name = “NAME”, unique = true, nullable = false) String userName; @Column(name = “FORNAME”) String userForname; @Column(name = “EMAIL”) String userEmail; @ManyToMany(cascade = CascadeType.ALL, fetch = […]

如何制作复合主键(java持久性注释)

如何使表user_roles将两列(userID,roleID)定义为复合主键。 应该很容易,只是记不住/找不到。 在user实体中: @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = “user_roles”) public List getRoles() { return roles; } @Id @GeneratedValue(strategy = GenerationType.AUTO) public Integer getUserID() { return userID; } 在roles实体中: @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = “user_roles”) public List getUsers() { return users; } @Id @GeneratedValue(strategy = GenerationType.AUTO) public Integer getRoleID() { return roleID; } 谢谢。 ** 更多信息 […]