我有以下实体类用户:
public class User implements Serializable {
@Column(length = 10, name = "user_type")
@Access(AccessType.PROPERTY)
private String userTypeS;
@Transient
private UserType userType;
...
public void setUserType(UserType userType) {
this.userType = userType;
this.userTypeS = this.userType.getType();
}
protected void setUserTypeS(String userTypeS) {
this.userTypeS = userTypeS;
userType = UserType.toUserType(userTypeS);
}
Run Code Online (Sandbox Code Playgroud)
UserType是一个枚举.这个问题是我不能简单地使用@Enumerated注释来映射UserType,因为代码中枚举的表示不同于,例如:
public enum UserType {
CUSTOMER_NON_PRO("custnop") ...
Run Code Online (Sandbox Code Playgroud)
与实体协作时,我希望能够将枚举设置为userType而不是它的String表示.为此我创建了一个公共setter,它设置enum(userType)并将其转换为它的String表示(用hibernate映射).类似地,有一个受保护的setUserTypeS必须由hibernate调用,并将String userType映射到枚举UserType.
当然,hibernate必须使用setter来填充实体.在我们的项目中,最好在getters/setter上设置属性本身的注释.因此,hibernate将使用内省直接设置属性值(从而绕过setter).对于userTypeS,我指出访问类型是PROPERTY(io FIELD),因为hibernate将调用setUSerTypeS.
所有这一切顺利进行."问题"是我们的日志中会看到以下警告:
org.hibernate.cfg.AnnotationBinder - 在字段上放置@Access(AccessType.PROPERTY)没有任何效果.
此警告似乎不正确.如果我将从@Access(AccessType.PROPERTY)字段userTypeS中删除,那么hibernate将不会调用setter,因此不会设置enum userType.因此,放置@Access(AccessType.PROPERTY)确实有影响.
此警告信息是无效还是过时,或者我是否误解了某些内容?
谢谢,
Stijn
我在Matlab中使用非负矩阵分解将矩阵分解为两个因子.使用这个,我得到了两个双精度浮点矩阵,B和C.
样本结果是
B(1,1) = 0.118
C(1,1) = 112.035
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试修改这些值中的特定位,但在任一值上使用bitset函数我得到一个错误,因为bitset需要无符号整数.
我也尝试过使用dec2bin函数,我假设它会将小数转换为二进制,但它为B(1,1)返回'0'.
有没有人知道在不损失精度的情况下处理浮点数的任何方法?
我想对查询参数进行一些清理.
我解析查询CGI.parse,然后我删除一些参数,但我找不到相反的方法来构建查询.
我真的不想做类似的事情
params.map{|n,v| "#{CGI.escape n}=#{CGI.escape v.to_s}"}.join("&")
Run Code Online (Sandbox Code Playgroud)
必须有一个更简单的方法.在那儿?
我在FB javascript SDK上创建了fQuery API.到目前为止一切正常,但我现在卡在FB.api电话中.
实际上,我正在尝试使用FB.api函数加载facebook用户对象即"/ me".
function somefunc() {
var r = fQuery.load(selector); //selector = "me"
return r;
}
fQuery.load = function( selector ) {
fQuery.fn.response = "";
return FB.api( "/" + selector, function (response) {
// we get response here.
});
}
Run Code Online (Sandbox Code Playgroud)
是否可以返回响应,或者我们可以进行同步调用.我已经尝试了很多方法来解决但却无法获得成功.
请提供建议.
javascript facebook asynchronous synchronous facebook-graph-api
我有一个Windows共享主机,我需要每天运行一些预定的c#可执行文件创建站点地图,发送新闻通讯等...
提供商告诉我,出于安全原因,我无法运行可执行文件.我能做什么?
提供商建议我购买VPS,但不认为花更多的钱来运行一些预定任务是有意义的.
是否存在替代方式?
我有我希望的简单问题!
我正在生成一个简单的RTF表,随后在MS Word中打开.该表生成正常,但列宽有点小,导致一些自动换行(不是我想要的).
我生成的RTF代码用于两行三列表,其形式如下:
\trowd \trautofit1
\intbl
\cellx1
\cellx2
\cellx3
{a\cell b\cell c\cell }{\trowd \trautofit1
\intbl
\cellx1
\cellx2
\cellx3
\row}
\trowd \trautofit1
\intbl
\cellx1
\cellx2
\cellx3
{d\cell e\cell f\cell }{\trowd \trautofit1
\intbl
\cellx1
\cellx2
\cellx3
\row}
Run Code Online (Sandbox Code Playgroud)
设置列宽需要添加什么?我已经尝试改变单词中的列宽,然后检查输出,但至少可以说它有点模糊!
我想在UIScrollView停止时添加动画?我该如何实现呢?通过使用计时器并检查减速值?或者我认为建议使用4.0块.
可能重复:
Javascript - array.contains(obj)
在JavaScript数组中查找项目的最佳方法?
我想检查一下列表或地图中的"the"这个词.这有什么内置功能吗?
我有一个从SQL查询返回的日期(日期时间类型字段),并希望将它与今天的PHP日期进行比较.我已经咨询过php手册,有很多方法可以做到这一点.我终于想出了一个比较字符串的解决方案,但我想知道是否有任何"更好"(最佳实践),更清晰或更快的方法.这是我的解决方案:
// $sql_returned_date='2008-10-17 11:20:04'
$today = new DateTime("now");
$f_today=$today->format('Y-m-d'); //formated today = '2011-03-09'
$sql_date=substr($sql_returned_date,0,9); //I get substring '2008-10-17'
if($f_today==$sql_date)
{
echo "yes,it's today";
}else{
echo "no, it's not";
}
Run Code Online (Sandbox Code Playgroud)
谢谢
java ×2
javascript ×2
asp.net ×1
asynchronous ×1
binary ×1
cgi ×1
date ×1
datetime ×1
events ×1
facebook ×1
hibernate ×1
ipad ×1
iphone ×1
jpa ×1
matlab ×1
mysql ×1
objective-c ×1
php ×1
rtf ×1
ruby ×1
synchronous ×1
transient ×1
uiscrollview ×1
width ×1