jpql语句中的不等于应该怎么写

image

应该是这个:<>

image

能不能不要只贴个图?讲点中文啊。
确切的说,文字不要截图,用代码框。

 List<Stand> list = dataManager.load(Stand.class)
                .query("select e from edyj_Stand e where e.standName = :standName and e.standCode <>:standCode")
               .parameter("standName", event.getValue())
                .parameter("standCode", standCode)
                .list();

这样写不对呀

报了什么错误呢?

不报错,只是查询结果不对

standCode是什么类型

String类型的,不是int

那你详细说说你要什么结果,实际出来什么结果,standCode传的什么值,数据库里什么值。
或者先把e.standCode <>:standCode这个条件去掉, 看看结果符合预期么,然后再加上这个条件看原因。

想实现一个在添加一条数据时,如果这条数据的名称已经存在就提示该名称已存在,用的方法是在名称的输入框添加响应事件

  @Subscribe("standNameField")
    private void onStandNameFieldValueChange(HasValue.ValueChangeEvent<String> event) {
        if (event.getValue() != null) {
            List<Stand> list = dataManager.load(Stand.class)
                    .query("select e from edyj_Stand e where e.standName = :standName")
                   .parameter("standName", event.getValue())
                    .list();
            if (list.size()> 0) {
                int a=list.size();
                dialogs.createMessageDialog().withCaption("提示信息").withMessage("名称重复").show();
            }
        }

但是这样,编辑这条数据的时候也会弹出该名称已经存在的弹框
所以,为了判断当前是编辑界面而不是新增界面,就想用当前的名称和Code在数据库中存在的时候就是编辑界面。当前名称存在但code不存在为新增界面

有没有什么方法能够直接判断当前界面是新增界面还是编辑界面

我理解应该能知道是什么action, 但我没查。
我知道PersistenceHelper可以判断当前实体的状态,isNew()就是新增。类似这样 if (PersistenceHelper.isNew(getItem()))