Код: Выделить всё
import jakarta.persistence.*;
import lombok.Data;
// other imports
@Table(
name = "brand"
)
@Entity
@Data
public class Brand {
@Id
@Column(
name = "id"
)
@GeneratedValue(
strategy = GenerationType.UUID
)
String id;
@Enumerated(EnumType.STRING)
ResourceType resourceType;
String name;
String defaultLanguage;
@Enumerated(EnumType.STRING)
ReviewStage reviewStage;
}
public enum ResourceType {
PUBLIC,
MEDIA_OUTLET, // Other Values
}
public enum ReviewStage {
PRE_SUBMIT,
SUBMITTED,
REJECTED,
ACCEPTED,
DECLINED,
CONFIRMED,
CONFIRM_APPEALED;
}
< /code>
Вот мой репозиторий: < /p>
public interface BrandRepo extends JpaRepository
{
@Query(value = "select * from brand i where i.name like CONCAT('%', ?1, '%') " +
"and i.reviewStage = :#{#stage?.name()}", nativeQuery = true)
//@Query("select i from Brand i where i.name like %:name% and i.reviewStage = :stage")
List
getLikeName(String name, ReviewStage stage, Pageable pageable);
}
Когда я использую неходовой версию запроса в репозитории JPA, объект не возвращается. Boot). < /P>
Другие зависимости градл: < /p>
Код: Выделить всё
implementation 'org.hibernate:hibernate-core:6.1.6.Final'
implementation 'org.hibernate:hibernate-entitymanager:5.6.14.Final'
implementation 'jakarta.validation:jakarta.validation-api:3.0.2'
implementation "org.springframework.boot:spring-boot-starter-data-jpa:$springbootVersion" // Note, this is 3.5.0
implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
implementation 'com.mysql:mysql-connector-j:9.3.0'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:+'
< /code>
Я попытался заменить свои зависимости Hibernate на < /p>
implementation 'org.hibernate.orm:hibernate-core:7.0.3.Final'
@Table(
name = "brand"
)
@Entity
@Data
public class Brand {
@Id
@Column(
name = "id"
)
@GeneratedValue(
strategy = GenerationType.UUID
)
String id;
@Enumerated(EnumType.STRING)
ResourceType resourceType;
String name;
String defaultLanguage;
@Convert(converter = ReviewStageConverter.class)
ReviewStage reviewStage;
String brandId;
public void setReviewStage(ReviewStage reviewStage1){
this.reviewStage = reviewStage1;
}
public void setReviewStage(String reviewStage1) {
this.reviewStage = ReviewStage.valueOf(reviewStage1.trim());
}
}
< /code>
Вот результаты запуска конвертера:
< /p>
Я также включил hibernate sql arginging his hiberging hibernate sql, и здесь и hibernate sql, и здесь и hibernate sql и здесь, и здесь и hibernate sql, и hibernate sql и здесь. alt = "Журнал оператора Hibernate SQL, использованный" src = "https://i.sstatic.net/ruco0xck.png"/>
Наконец, потому что я рассматривал возможность, что проблема была в MySQL, я использовал JDBC (или Enum. Применение и вот результаты (реальный класс объектов немного больше, чем было показано ранее):
Подробнее здесь: https://stackoverflow.com/questions/796 ... num-fields