我正在处理数据操作,我的命令是将表的所有内容提取到一个文本文件中!我已经实现了这一点,但是很明显,我在创建请求时犯了一个错误:
public void extractDonneesFichierPlat(){
TypedQuery<NotificationCnavOP> query = entityManager.createQuery("SELECT * INTO OUTFILE 'C:\\Test.txt' FROM NotificationCnavOP", NotificationCnavOP.class);
}
1条答案
按热度按时间ovfsdjhp1#
在jpql中不能使用“select*into outfile…”语法,这是一种不同于sql的独立查询语言。如果要在jpa中执行本机sql查询,必须使用
entityManager.createNativeQuery()
方法。但仍然不可能使用这种方法执行这种“批量操作”查询。我能想到的唯一解决方案是使用jdbc而不是jpa并执行:实际执行
Session
取决于提供商。在休眠的情况下,它是org.hibernate.internal.SessionImpl
.对于更新版本的hibernate,它是
org.hibernate.Session
而且它没有connection()
方法。所以,你应该试试:两个版本都在Hibernate4中工作。