Hibernate标准java注释
我是新来Hibernate的,我有一个无法解决的问题,我看了一下类似的问题,但我运气不好 我有一个表(我们称之为T1)和另一个表(我们称之为T2)。T1与T2有关系,T2与T1有相同的关系,所以它们有多对多的关系,所以我创建了一个桥接表(我们称之为T1_T2) T1.id T1_T2.T1id T2.id T2.id T1_T2.T2id T1.id 我的问题是下一个:我应该如何构建我的java类(T1,T1_T2,T2)并使用条件进行查询,只给出一个id(两个表中的任何一个)作为参数Hibernate标准java注释,java,hibernate,annotations,many-to-many,criteria,Java,Hibernate,Annotations,Many To Many,Criteria,我是新来Hibernate的,我有一个无法解决的问题,我看了一下类似的问题,但我运气不好 我有一个表(我们称之为T1)和另一个表(我们称之为T2)。T1与T2有关系,T2与T1有相同的关系,所以它们有多对多的关系,所以我创建了一个桥接表(我们称之为T1_T2) T1.id T1_T2.T1id T2.id T2.id T1_T2.T2id T1.id 我的问题是下一个:我应该如何构建我的java类(T1,T1_T2,T2)并使用条件进行查询,只给出一个id(两个表中的任何一个)作为参数 希望有人
希望有人能帮助我,谢谢 您可以在@ManyToMany之后使用注释@JoinTable指向t1\U t2表以表示关系。看 让我举个例子,一个用户有多个权限,一个权限有多个用户 使用者
@Table(name=“USER”)
公共类用户(){
@身份证
私有整数id;
@许多
@可接合(
name=“USER\u GROUP”,
joinColumns={@JoinColumn(name=“USER_ID”)},
inverseJoinColumns={@JoinColumn(name=“GROUP_ID”)})
私人名单组;
...
}
许可
@Table(name="GROUP")
public class Group(){
@Id
private Integer id;
@JoinTable(
name="USER_GROUP",
joinColumns={@JoinColumn(name="GROUP_ID")},
inverseJoinColumns={@JoinColumn(name="USER_ID")})
private List<Users> users;
...
}
@Table(name=“GROUP”)
公共类组(){
@身份证
私有整数id;
@可接合(
name=“USER\u GROUP”,
joinColumns={@JoinColumn(name=“GROUP_ID”)},
inverseJoinColumns={@JoinColumn(name=“USER\u ID”)})
私人名单用户;
...
}
互联网上有这么多的例子,你试过其中任何一个吗?是的,但大部分都是hql,而不是标准…我应该在t1_t2中放什么?@Ralsho,t1_t2由hibernate维护多对多关联,hibernate会为你放外键。它只是一个联接表。
@Table(name="GROUP")
public class Group(){
@Id
private Integer id;
@JoinTable(
name="USER_GROUP",
joinColumns={@JoinColumn(name="GROUP_ID")},
inverseJoinColumns={@JoinColumn(name="USER_ID")})
private List<Users> users;
...
}