Oracle
 sql >> Datenbank >  >> RDS >> Oracle

hibernate.jpa.criteria.BasicPathUsageException:Verknüpfung mit Attribut des Basistyps nicht möglich

Sie können den @Join nicht verwenden Annotation für eine grundlegende Eigenschaft (z. B. ein Attribut mit einem einfachen @Column Kartierung). @Join ist für Assoziationen:

  • eins zu eins
  • Eins-zu-Viele
  • viele-zu-eins
  • viele-zu-viele

Sie müssen diese Zeile als taxRuleId entfernen wurde bereits aus der Datenbank geholt:

Join<Tax, TaxRule> join = taxRoot.join("taxRuleId");

Wenn Sie der TaxRule-Tabelle beitreten möchten, müssen Sie Folgendes ersetzen:

@Column(name = "TAX_RULE_ID")
private Long taxRuleId;

mit einer Viele-zu-Eins-Verknüpfung:

@ManyToOne
@JoinColumn(name = "TAX_RULE_ID")
private TaxRule raxRule;