Установка и настройка.
Добавил зависимость (система сборки - Gradle):
// https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-jpamodelgen
compile group: 'org.hibernate.orm', name: 'hibernate-jpamodelgen', version: '6.0.0.Alpha2'
Указал препроцессор аннотаций:
annotationProcessor('org.hibernate:hibernate-jpamodelgen:6.0.0.Alpha2')
Используемый в примере ниже класс:
@Entity
@Table(name = "author")
public class Author {
@Id
@Column(name = "id")
@GeneratedValue(generator = "incrementor")
private Long id;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
public Author() { }
// getters and setters
}
Сгенерированный класс:
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
@StaticMetamodel(Author.class)
public abstract class Author_ {
public static volatile SingularAttribute<Author, String> firstName;
public static volatile SingularAttribute<Author, String> lastName;
public static volatile SingularAttribute<Author, Long> id;
public static final String FIRST_NAME = "firstName";
public static final String LAST_NAME = "lastName";
public static final String ID = "id";
}
Пример:
@Override
public List<Author> findAllByLastName(String lastName) {
var cb = entityManager.getCriteriaBuilder();
var query = cb.createQuery(Author.class);
var author = query.from(Author.class);
query.where(cb.equal(author.get(Author_.lastName), lastName));
return entityManager.createQuery(query).getResultList();
}
Вызов author.get(Author_.lastName)
генерирует исключение NullPointerException
:
@Override
@SuppressWarnings("unchecked")
public <Y> PathImplementor<Y> get(SingularAttribute<? super T, Y> attribute) {
return getWrappedPathDetyped().get( attribute );
}
, в момент вызова параметр attribute равен null.
Пробовал использовать константу LAST_NAME (из класса Author_) - получаю исключение с описанием:
java.lang.ClassCastException: class org.hibernate.query.criteria.spi.SingularPathBasic cannot be cast to class org.hibernate.query.sqm.tree.expression.SqmExpression (org.hibernate.query.criteria.spi.SingularPathBasic and org.hibernate.query.sqm.tree.expression.SqmExpression are in module org.hibernate.orm.core@6.0.0.Alpha2 of loader 'app')
Подскажите, пожалуйста, в чем может быть ошибка?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Каждые два секунд , я получаю данные с сайта заношу их в бд и мне нужно сделать rest запрос по DateЯ сделал rest запрос по всем данным