如何使用 SQL语句执行增删改查操作

你好!
我有一些复杂的查询语句 或者 需要用到oracle数据库的特殊函数,jpql满足不了需要用SQL , ,现在jmix都是用jpql语句的,我怎么才能使用SQL语句进行CRUD?

可以用 EntityManager 或者 JdbcTemplate,下面是EntityManager的例子:

@Component("product_Service")
public class ProductSerivce {
    @PersistenceContext
    private EntityManager entityManager;

    public List<Product> loadAllProducts(){
        List<Product> resultList = entityManager.createNativeQuery("select * from LEOT_PRODUCT", Product.class)
                .getResultList();
        return resultList;
    }
}

如果查询总条数也是写count(*) 函数在sql里面吗?

使用entityManager.createNativeQuery不可以追加参数的吗?
image
执行的时候报错
image
但是控制台打印的SQL拿去数据库中执行是正常的
image

数据库执行如下
image

这个错误的意思是parameter没有设置上。Eclipselink 对 Native query 参数的支持如下:
image

所以,你应该用 fd_Code=#fdCode 的形式。

或者可以用 fd_Code=?1 然后用setParameter(1,"xxxx") 的方式定义参数。

你好! 使用原生SQL查询是没有问题了,还有使用原生的SQL的修改,删除,新增 使用entityManager如何使用?能否给个出修改,删除,新增的例子? 因为我问的增删改查的问题哈?

搜一下EntityManager的用法,这些是JPA通用知识,不是Jmix专有的。