Seltsamerweise hatte ich dieses Problem nie, ich weiß nicht, ob es irgendwie ist von der Version wurde die DB über durch Flyway (mit den richtigen Typen) und die Entität entspricht dem DB. Nicht existieren: Zeichen varying = bytea ”
Das gleiche passiert, wenn ich einen anderen Parameter hinzufüge (z. /> Dieser Fehler tritt nur auf, wenn einer der Parameter auf Null gesetzt ist.
Code: Select all
@Query(value = "SELECT p FROM Payment p WHERE " +
"(:productId IS NULL OR p.product_id = :productId) AND " +
"(:name IS NULL OR p.name = :name)", nativeQuery = true)
List
findPaymentByParams(
@Param("productId") String productId,
@Param("name") String name);
< /code>
Entität: < /p>
@Getter
@Setter
@ToString
@NoArgsConstructor
@Builder
@AllArgsConstructor
@Entity
@Table(name = "PAYMENT")
public class PaymentEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@ManyToOne
@JoinColumn(......)
private ...;
@Column(nullable = false)
private String name;
@Column(name = "product_id", nullable = false)
private String productId;
...
}
< /code>
Application.properties:
#database
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
< /code>
pom: < /p>
spring-boot-starter-parent
org.springframework.boot
2.6.4
postgresql
org.postgresql
42.5.1