Код: Выделить всё
@Table(name = "USER")
@Entity
@NamedQueries({@NamedQuery(name = "User.byLogin", query = "select u from User u where u.login = :login and u.active = :active")})
public class User implements Serializable {
@Column(name = "ID")
@Id
private Long id;
@Column(name = "LOGIN")
private String login;
@Column(name = "ACTIVE")
private Boolean active;
// etc..
}
< /code>
Метамодель процессор генерирует это: < /p>
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
@StaticMetamodel(User.class)
public abstract class User_ {
public static volatile SingularAttribute id;
public static volatile SingularAttribute active;
public static volatile SingularAttribute login;
}
< /code>
Тогда в моих классах бизнес -логики есть следующий код: < /p>
Map params = new HashMap();
params.put(User_.login.getName(), username);
params.put(User_.active.getName(), Boolean.TRUE);
userDao.executeNamedQuery("User.byLogin", params);
< /code>
Этот код падает с NPE на второй строке. Через отладчиком я заметил, что поля пользователя _
Подробнее здесь: https://stackoverflow.com/questions/367 ... s-are-null