使用休眠读取 URL 地址的冒号
Read colons for an URL adress with hibernate
嗯,我知道有很多关于这个问题的资料,但我找不到具体的资料来帮助我解决我的问题。或者,至少,我还没有弄清楚:/.
我的问题如下:我有一个包含产品的数据库,每个产品都有一个图像字段,对应于该图像的 URL。
然后,当我想进行查询以获取以 'http://' 或 'https://' 开头的 url 图像时,由于休眠行为,我遇到了典型的冒号问题。
最重要的是 ubuntu 和 mac 如果该前缀不存在则不会出现问题...但是 windows 会出现问题。
那是我的问题...如果有办法解决冒号问题,或者避免 windows 上的前缀以便它可以加载图像,我将成为地球上最幸福的人。很抱歉,但我真的不知道该怎么做才能解决这个问题,或者是否有其他方法可以让我不处理这个特定问题。
提前感谢您的宝贵时间,各位! :)
我正在做一个本地查询:
[UPDATE products SET products.title = 'On Cloudsurfer 运行 Women\'s Shoes Size 5.5', products.brand = 'On Running', products.urlImage = '<a href="http://ecx.images-amazon.com/images/I/31NpvJwpEYL._SL75_.jpg" rel="nofollow">http://ecx.images-amazon.com/images/I/31NpvJwpEYL.<em>SL75</em>.jpg</a> ', products.weight = 1.85, products.width = 7.8, products.height = 4.2, products.length = 10.9, products.amazonSize = '5.5 B(M) 女性\'s US' 哪里 products.sku='0000027001WM-SZ-5.5';]
我的问题是冒号...在 ubuntu 和 mac 上,前缀不是问题,但似乎 windows 一直需要它,因为图像没有显示在 windows.
勘误表:对不起大家!请忘记只有 windows 不显示图片这一事实。系统很大,忘了把“:”补上了“\”。这就是 ubuntu 和 mac 显示图像但 windows 不显示图像的原因...
无论如何,冒号问题仍然是个问题:(
有时持久对象可能包含带有 %、_、! 等字符的字段。如果使用 Hibernate 的条件查询进行过滤,就会出现一个问题。
使用此代码片段作为参考:
public class EscapedRestrictions {
public static Criterion ilike(String propertyName, String value) {
return new EscapedILikeExpression(propertyName, value);
}
public static Criterion ilike(String propertyName, String value, MatchMode matchMode) {
return new EscapedILikeExpression(propertyName, value, matchMode);
}
}
class EscapedILikeExpression extends IlikeExpression {
private static final String HIBERNATE_ESCAPE_CHAR = "\";
public EscapedILikeExpression(String propertyName, Object value) {
super(propertyName, value);
}
public EscapedILikeExpression(String propertyName, String value, MatchMode matchMode) {
super(propertyName, replaceAll(value), matchMode);
}
private static String replaceAll(String value) {
return value
.replace("\", HIBERNATE_ESCAPE_CHAR + "\")
.replace("_", HIBERNATE_ESCAPE_CHAR + "_")
.replace("%", HIBERNATE_ESCAPE_CHAR + "%");
}
}
用法与上面的代码片段相同,只是将 Restrictions class 替换为 EscapedRestrictions。
嗯,我知道有很多关于这个问题的资料,但我找不到具体的资料来帮助我解决我的问题。或者,至少,我还没有弄清楚:/.
我的问题如下:我有一个包含产品的数据库,每个产品都有一个图像字段,对应于该图像的 URL。
然后,当我想进行查询以获取以 'http://' 或 'https://' 开头的 url 图像时,由于休眠行为,我遇到了典型的冒号问题。
最重要的是 ubuntu 和 mac 如果该前缀不存在则不会出现问题...但是 windows 会出现问题。
那是我的问题...如果有办法解决冒号问题,或者避免 windows 上的前缀以便它可以加载图像,我将成为地球上最幸福的人。很抱歉,但我真的不知道该怎么做才能解决这个问题,或者是否有其他方法可以让我不处理这个特定问题。
提前感谢您的宝贵时间,各位! :)
我正在做一个本地查询:
[UPDATE products SET products.title = 'On Cloudsurfer 运行 Women\'s Shoes Size 5.5', products.brand = 'On Running', products.urlImage = '<a href="http://ecx.images-amazon.com/images/I/31NpvJwpEYL._SL75_.jpg" rel="nofollow">http://ecx.images-amazon.com/images/I/31NpvJwpEYL.<em>SL75</em>.jpg</a> ', products.weight = 1.85, products.width = 7.8, products.height = 4.2, products.length = 10.9, products.amazonSize = '5.5 B(M) 女性\'s US' 哪里 products.sku='0000027001WM-SZ-5.5';]
我的问题是冒号...在 ubuntu 和 mac 上,前缀不是问题,但似乎 windows 一直需要它,因为图像没有显示在 windows.
勘误表:对不起大家!请忘记只有 windows 不显示图片这一事实。系统很大,忘了把“:”补上了“\”。这就是 ubuntu 和 mac 显示图像但 windows 不显示图像的原因...
无论如何,冒号问题仍然是个问题:(
有时持久对象可能包含带有 %、_、! 等字符的字段。如果使用 Hibernate 的条件查询进行过滤,就会出现一个问题。
使用此代码片段作为参考:
public class EscapedRestrictions {
public static Criterion ilike(String propertyName, String value) {
return new EscapedILikeExpression(propertyName, value);
}
public static Criterion ilike(String propertyName, String value, MatchMode matchMode) {
return new EscapedILikeExpression(propertyName, value, matchMode);
}
}
class EscapedILikeExpression extends IlikeExpression {
private static final String HIBERNATE_ESCAPE_CHAR = "\";
public EscapedILikeExpression(String propertyName, Object value) {
super(propertyName, value);
}
public EscapedILikeExpression(String propertyName, String value, MatchMode matchMode) {
super(propertyName, replaceAll(value), matchMode);
}
private static String replaceAll(String value) {
return value
.replace("\", HIBERNATE_ESCAPE_CHAR + "\")
.replace("_", HIBERNATE_ESCAPE_CHAR + "_")
.replace("%", HIBERNATE_ESCAPE_CHAR + "%");
}
}
用法与上面的代码片段相同,只是将 Restrictions class 替换为 EscapedRestrictions。