Поскольку я использую Hibernate 5, он показывает ошибку как:
28 апреля 2018 12:24:45 org.hibernate.internal.SessionImpl
createCriteria ПРЕДУПРЕЖДЕНИЕ: HHH90000022: наследие Hibernate
API org.hibernate.Criteria устарела; использовать JPA
javax.persistence.criteria.CriteriaQuery вместо
@Transactional
public class AccountDAOImpl implements AccountDAO {
@Autowired
private SessionFactory sessionFactory;
@Override
public ACCOUNTS findAccount(String userName) {
// TODO Auto-generated method stub//
Session session=sessionFactory.getCurrentSession();
Criteria crit=session.createCriteria(ACCOUNTS.class).add(Restrictions.eq("user_name", userName));
//crit.add(Restrictions.eq("user_name", userName));
return (ACCOUNTS)crit.uniqueResult();
}
}
межсайтовый аккаунт DAO
public interface AccountDAO {
public ACCOUNTS findAccount(String userName );
}
и учетные записи моделей класса
package org.vikas.shoppingCart.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="ACCOUNTS")
public class ACCOUNTS implements Serializable
{
private static final long serialVersionUID = 1L;
public static final String ROLE_MANAGER = "MANAGER";
public static final String ROLE_EMPLOYEE = "EMPLOYEE";
private String user_name;
private String user_password;
private boolean active;
private String user_role;
@Id
@Column(name="user_name",length=50,nullable=false)
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
@Column(name="user_password",length=20,nullable=false)
public String getUser_password() {
return user_password;
}
public void setUser_password(String user_password) {
this.user_password = user_password;
}
@Column(name="active",length=1,nullable=false)
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
@Column(name="user_role",length=20,nullable=false)
public String getUser_role() {
return user_role;
}
public void setUser_role(String user_role) {
this.user_role = user_role;
}
@Override
public String toString() {
return "ACCOUNTS [user_name=" + user_name + ", user_password=" + user_password + ", active=" + active
+ ", user_role=" + user_role + "]";
}
}
Когда я искал и там говорилось использовать CreateBuilder, чтобы избежать устаревания (поскольку я получил пример только для отображения всех данных в Списке), но я использую здесь условие добавления с ограничениями, Пожалуйста, помогите мне, как использовать createBuilder при использовании условие, которое я использовал add (Restrictions.eq ("user_name", userName)); в коде или есть другое решение, чтобы избежать устаревания?