Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate标准java注释_Java_Hibernate_Annotations_Many To Many_Criteria - Fatal编程技术网

Hibernate标准java注释

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(两个表中的任何一个)作为参数 希望有人

我是新来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;
      ...

 }