Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将此sql查询更改为hibernate查询?_Sql - Fatal编程技术网

如何将此sql查询更改为hibernate查询?

如何将此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

我想将此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(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 desc

Query 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(用户); } }