使用 java 如果我将 windows 路径存储在 h2 数据库中,然后尝试使用 Hibernate 通过匹配文件名来检索对象,即
public static List<Object[]> findSongsRecNoAndModifiedDateWithinFolder(Session session, String folder)
{
Query q = session.createQuery("select recNo, filename, lastModified from Song t1 where t1.filename like :filename");
q.setParameter("filename", folder+'%', StandardBasicTypes.STRING);
List<Object[]> results = (List<Object[]>)q.list();
return results;
}
我没有匹配。
如果我在添加到数据库时将所有 '\' 转换为 '/' 并尝试检索它所有工作,但这有点痛苦,我试图忽略 UNIX 和 Windows 文件路径之间的差异。
所以问题与 Windows 文件分隔符 '\' 也是 Java(和数据库)转义字符有关。但我真的不明白Java、数据库或休眠的问题,如果我能解决它。