Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

hibernate.jpa.criteria.BasicPathUsageException:Não é possível ingressar no atributo do tipo básico


Você não pode usar o @Join anotação para uma propriedade básica (por exemplo, um atributo com um simples @Column mapeamento). @Join é para associações:
  • individual
  • um para muitos
  • muitos para um
  • muitos para muitos

Você precisa remover esta linha, pois o taxRuleId já foi buscado no banco de dados:
Join<Tax, TaxRule> join = taxRoot.join("taxRuleId");

Se você quiser ingressar na tabela TaxRule, precisará substituir:
@Column(name = "TAX_RULE_ID")
private Long taxRuleId;

com uma associação de muitos para um:
@ManyToOne
@JoinColumn(name = "TAX_RULE_ID")
private TaxRule raxRule;