Ich habe 2 Tabellen in der Datenbank "Kurse" und "Ausbilder" mit "Instructor" -Tabelle mit einer bis zu vielen Beziehung zu "Kursen" -Tabelle und "Kursen" -Tabelle mit vielen zu einer Beziehung mit demselben. Zuordnungen entsprechend, wie unten gezeigt. Habe etwas übersehen, was jede Hilfe geschätzt würde. /> Entity 01 < /p>
@Entity
@Table(name = "Courses")
public class Courses {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private int id;
@Column(name = "COURSENAME")
private String courseName;
/*
* Define many to one relation ship from courses to instructor table
* PLEASE NOTE: we need to disable delete operation in case any course
* is deleted we don't need to delete the instructor
*/
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE,
CascadeType.REFRESH, CascadeType.DETACH } )
@JoinColumn(name = "INSTRUCTOR_ID")
private Instructor instructor_id;
public Instructor getInstructor_id() {
return instructor_id;
}
public void setInstructor_id(Instructor instructor_id) {
this.instructor_id = instructor_id;
}
and so on
...
< /code>
Entität 02 < /p>
@Entity
@Table(name = "instructor")
public class Instructor {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private int id;
@Column(name = "FNAME")
private String fName;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "INSTRUCTOR_DETAILS_ID")
private InstructorDetails instructorDetails;
/*
* Defining one to many relation ship for one instructor to many courses.
*
*/
@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH,
CascadeType.DETACH })
@JoinColumn(name = "instructor_id")
private List courses;
public List getCourses() {
return courses;
}
public void setCourses(List courses) {
this.courses = courses;
}
< /code>
Methode, die Ausnahme ergibt < /p>
@Override
public List FindCoursesByInstructorId(int id) {
System.out.println("Searching for id :"+id);
TypedQueryquery = this.entityManager.createQuery("SELECT c FROM Courses c WHERE c.instructor_id = :id " , Courses.class);
query.setParameter("id", id);
List l = query.getResultList();
return l;
}
< /code>
Ausnahme erzeugt < /p>
org.hibernate.query.QueryArgumentException: Argument [44] of type [java.lang.Integer] did not match parameter type [com.example.Hibernate02_OneToMany.entity.Instructor (n/a)]
at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:85) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:32) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at org.hibernate.query.internal.QueryParameterBindingImpl.validate(QueryParameterBindingImpl.java:366) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at org.hibernate.query.internal.QueryParameterBindingImpl.setBindValue(QueryParameterBindingImpl.java:142) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at org.hibernate.query.spi.AbstractCommonQueryContract.setParameter(AbstractCommonQueryContract.java:835) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at org.hibernate.query.spi.AbstractSelectionQuery.setParameter(AbstractSelectionQuery.java:602) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at org.hibernate.query.sqm.internal.QuerySqmImpl.setParameter(QuerySqmImpl.java:1061) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
Ich habe 2 Tabellen in der Datenbank "Kurse" und "Ausbilder" mit "Instructor" -Tabelle mit einer bis zu vielen Beziehung zu "Kursen" -Tabelle und "Kursen" -Tabelle mit vielen zu einer Beziehung mit demselben. Zuordnungen entsprechend, wie unten gezeigt. Habe etwas übersehen, was jede Hilfe geschätzt würde. /> Entity 01 < /p> [code]@Entity @Table(name = "Courses") public class Courses { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private int id;
/* * Define many to one relation ship from courses to instructor table * PLEASE NOTE: we need to disable delete operation in case any course * is deleted we don't need to delete the instructor */ @JsonIgnore @ManyToOne(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH } ) @JoinColumn(name = "INSTRUCTOR_ID") private Instructor instructor_id;
public Instructor getInstructor_id() { return instructor_id; }
public void setInstructor_id(Instructor instructor_id) { this.instructor_id = instructor_id; } and so on ... < /code> Entität 02 < /p> @Entity @Table(name = "instructor") public class Instructor {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private int id;
/* * Defining one to many relation ship for one instructor to many courses. * */ @OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH }) @JoinColumn(name = "instructor_id") private List courses;
public List getCourses() { return courses; }
public void setCourses(List courses) { this.courses = courses; } < /code> Methode, die Ausnahme ergibt < /p> @Override public List FindCoursesByInstructorId(int id) {
System.out.println("Searching for id :"+id);
TypedQueryquery = this.entityManager.createQuery("SELECT c FROM Courses c WHERE c.instructor_id = :id " , Courses.class);
query.setParameter("id", id); List l = query.getResultList();
return l; } < /code> Ausnahme erzeugt < /p>
org.hibernate.query.QueryArgumentException: Argument [44] of type [java.lang.Integer] did not match parameter type [com.example.Hibernate02_OneToMany.entity.Instructor (n/a)] at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:85) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:32) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at org.hibernate.query.internal.QueryParameterBindingImpl.validate(QueryParameterBindingImpl.java:366) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at org.hibernate.query.internal.QueryParameterBindingImpl.setBindValue(QueryParameterBindingImpl.java:142) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at org.hibernate.query.spi.AbstractCommonQueryContract.setParameter(AbstractCommonQueryContract.java:835) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at org.hibernate.query.spi.AbstractSelectionQuery.setParameter(AbstractSelectionQuery.java:602) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at org.hibernate.query.sqm.internal.QuerySqmImpl.setParameter(QuerySqmImpl.java:1061) ~[hibernate-core-6.6.13.Final.jar:6.6.13.Final] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] [/code]
Ich versuche, Daten aus meiner Datenbank (PostgreSQL) mit einer Abfrageanforderung aus Java Spring Start zu erhalten:
import org.springframework.data.jpa.repository.JpaRepository;
import...
Ich versuche, den Umgang mit Variantendatentypen der Spark 4-Java-API zu bewerten. Nachfolgend finden Sie Beispiel-Java-Codes für Variantendatentypen.
SparkSession spark =...
Ich evaluiere die Spark 4 try_variant_get-Methode zur Verarbeitung von Variantentypdaten. Zuerst erstelle ich Beispiele für SQL-Anweisungen.
CREATE TABLE family (
id INT,
data VARIANT
);