如何将此sql查询更改为hibernate查询?
我想将此sql查询更改为hibernate查询 SQL查询:如何将此sql查询更改为hibernate查询?,sql,Sql,我想将此sql查询更改为hibernate查询 SQL查询: SELECT * FROM User WHERE (DATE_SUB(NOW(), INTERVAL 1 DAY) >= AccountStartDate) AND PINStatus = 'N' AND PetName IS NULL AND SchoolName IS NULL AND AccountType = 'Supervisor' 这是我的用户类 @Entity @Table(nam
SELECT *
FROM User
WHERE (DATE_SUB(NOW(), INTERVAL 1 DAY) >= AccountStartDate)
AND PINStatus = 'N'
AND PetName IS NULL
AND SchoolName IS NULL
AND AccountType = 'Supervisor'
这是我的用户
类
@Entity
@Table(name = "User")
public class User{
@Id
@GeneratedValue
@Column(name="UserID")
private long userID;
@Column(name="AccountStartDate")
private Date accountStartDate;
@Column(name="PINStatus")
private String pinStatus;
@Column(name="PetName")
private String petName;;
@Column(name="SchoolName")
private String schoolName;
@Column(name="AccountType")
private String accountType;
}
以下是部分答案。。。试试这个
User user = _session.CreateCriteria<User>()
.Add(Restrictions.Eq("PINStatus", "[VARIABLE PARAMETER]"))
.AddOrder(new Order("_id", false))
.List<User>()
.FirstOrDefault();
User=\u session.CreateCriteria()
.Add(Restrictions.Eq(“PINStatus”,“变量参数]”))
.AddOrder(新订单(“\u id”,false))
.List()
.FirstOrDefault();
这将导致如下结果:
从用户中选择*,其中PINStatus=???Order By Id descQuery Query=sessionFactory.getCurrentSession().createQuery(“从用户位置”+
Query query=sessionFactory.getCurrentSession().createQuery("FROM User WHERE " +
"pinStatus=:pinStatus AND petName IS NULL AND schoolName IS NULL AND accountType=:accountType")
.setString("accountType", "User").setString("pinStatus", "N");
List<User> userList=query.list();
Iterator<User> itr = userList.iterator();
while(itr.hasNext()) {
User user = (User) itr.next();
long diff=currentDate.getTime() - user.getAccountStartDate().getTime();
long diffHours = diff / (60 * 60 * 1000);
if(diffHours>=24)
{
System.out.println("User added "+user.getFirstName());
userList1.add(user);
}
}
“pinStatus=:pinStatus和petName为NULL,schoolName为NULL,accountType=:accountType”)
.setString(“accountType”、“User”).setString(“pinStatus”、“N”);
List userList=query.List();
迭代器itr=userList.Iterator();
while(itr.hasNext()){
User=(User)itr.next();
long diff=currentDate.getTime()-user.getAccountStartDate().getTime();
长diffHours=diff/(60*60*1000);
如果(小时数>=24)
{
System.out.println(“用户添加”+User.getFirstName());
userList1.add(用户);
}
}