在尝试执行此查询时,我一直在Java(hibernate)中遇到意外的char'@'错误。以下是代码的一部分,我发现对我的问题非常重要:
Session s1 = null;
Transaction tx1 = null;
List<PpaDrCdr> resultSet = null;
String query = "select "+ "id "+ "from name_of_the_table@name_of_the_database "
try{
SessionFactory factory1 = new Configuration().configure().buildSessionFactory();
s1 = factory1.openSession();
tx1 = s1.beginTransaction();
resultSet = s1.createQuery(query).list();
tx1.commit();
}catch(HibernateException ex){
if(tx1 != null){
tx1.rollback();
}
ex.printStackTrace();
}finally{
if(s1!=null && s1.isConnected()){
s1.close();
}
}
此行出现错误: resultSet = s1.createQuery(query).list(); ,并显示意外字符@
另一方面,当我在sql编辑器中执行此查询时,它完美地工作并从表中返回预期的行。
我猜问题是Java无法识别@ character。
有谁知道如何解决这个问题?
我尝试更改ojdbc驱动程序,但它一直给出所有三个ojdbc5,ojdbc6和ojdbc7驱动程序的相同错误。
我真的不知道我还能做些什么。