Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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
Java 基本的Hibernate/JPA映射问题_Java_Hibernate_Jpa_Annotations_Mapping - Fatal编程技术网

Java 基本的Hibernate/JPA映射问题

Java 基本的Hibernate/JPA映射问题,java,hibernate,jpa,annotations,mapping,Java,Hibernate,Jpa,Annotations,Mapping,我必须找到我想相互映射的表。 我想填充两个下拉列表:代码和代码。 当我从代码中选择一个值时,代码应该只显示某些记录。 在我的数据库中,我有两个表: Table code_r =================== CODE INT LIBELLE VARCHAR 及 一个代码可以有多个与之关联的代码(基于代码id(不是定义为代码定义中的外键)。当然,一个代码只能与一个代码关联 以下SQL查询工作正常: SELECT * FROM code_r r left joi

我必须找到我想相互映射的表。 我想填充两个下拉列表:代码和代码。 当我从代码中选择一个值时,代码应该只显示某些记录。 在我的数据库中,我有两个表:

Table code_r
===================
CODE         INT
LIBELLE      VARCHAR

一个代码可以有多个与之关联的代码(基于代码id(不是定义为代码定义中的外键)。当然,一个代码只能与一个代码关联

以下SQL查询工作正常:

SELECT * 
FROM code_r r
 left join `code_l` l on l.code_r_id = r.code;
我应该如何在CodeR和CodeL类中使用JPA/Hibernate-3.5注释来实现这一点

任何帮助都将不胜感激。提前感谢。

在编码器课程中:

@OneToMany(mappedBy=“code\r\u id”)

收集元素FROML


在CodeL类中:

@许多酮

编码器代码\u r\u id;

使用Hibernate(现已在JPA 2.0中标准化),您可以使用单向一对多关联,而无需使用连接表,使用
JoinColumn
注释:

对编码者进行如下注释:

@Entity
public class CodeR {
   @Id
   private Integer code;
   private String libelle;

   @OneToMany
   @JoinColumn(name="CODE_R_ID")
   Set<CodeL> codeLs = new HashSet<CodeL>():

   // getters, setters
}   
和JPQL查询:

SELECT r FROM CodeR LEFT JOIN  r.codeLs

祝贺您在上一届奥运会上获得金牌Hibernate@Arthur非常感谢,衷心感谢。下一个目标,JPA:)非常感谢帕斯卡,它成功地获得了每个编码器的代码列表。但不幸的是,当我试图获得一个编码器列表时,每个编码器都会对其关联的每个编码器进行复制(左连接而不是内部连接?)。我怎样才能解决这个问题??提前谢谢?谢谢你的回答,Q.C:-)
@Entity
public class CodeL {
   @Id
   private Integer id;
   private String libelle;

   // getters, setters, equals, hashCode
}   
SELECT r FROM CodeR LEFT JOIN  r.codeLs