小编luc*_*uda的帖子

Hibernate/JPA bug - 无法识别枚举中的某些字符串

我在类中有一个枚举,由Hibernate映射.其中一个映射字段是和枚举类型,其中包含以下值之一:OK,NOKNAP.NOKNAP按预期工作,但是当该类设置为"OK"时,Hibernate无法映射并检索该值,该值设置为null:

java.lang.IllegalArgumentException: Unknown name value for enum class     com.a.b.c.d.Class$Status: OK
    at org.hibernate.type.EnumType.nullSafeGet(EnumType.java:113)
Run Code Online (Sandbox Code Playgroud)

该班有:

private Status status;

@JoinColumn(name = "STATUS")
@Enumerated(EnumType.STRING)
public Status getStatus() {
    return status;
}

public enum Status {
    OK, NOK, NAP;
}
Run Code Online (Sandbox Code Playgroud)

如果我将OK更改为OK2,它可以正常工作._OK也有效.就我而言,"确定"不是保留名称(就像在这种情况下,这个人使用新的),因为它正确编译.

谢谢!

更新:

到目前为止,我所做的解决问题的方法是修改枚举并在数据库中存储' _OK '而不是' OK ',如上所示.不是很好的解决方案,但它至少起作用.

public enum Status {
    _OK("OK"), 
    NOK("NOK"), 
    NAP("NAP");

    private String desc;

    private Status(String desc){
        this.desc = desc;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

java enums hibernate exception

5
推荐指数
1
解决办法
1万
查看次数

YUI通过id方法获取元素不适用于数字起始id

我刚刚从YUI2切换到YUI3.所以,YAHOO.util.Dom.get(ID_OF_ELEMENT)我尝试使用而不是使用Y.one('#ID_OF_ELEMENT)'.它工作正常的一个DIVID img123,但不能与123img123.

我也尝试使用Y.all但它没有用.我发现使用YUI的唯一方法就是使用Y.DOM.byId(在YUI论坛中作为替代方案显示).

所以我做的是用最后一个获取元素并首先得到Node,如下所示:

Y.one(Y.DOM.byId(ID_OF_ELEMENT)).append(SOME_HTML_CONTENT);
Run Code Online (Sandbox Code Playgroud)

我不能单独使用只Y.DOM.byId因为我需要将其内容作为节点来操纵.

那么,有没有办法只使用Y.one这是一个YUI的错误吗?

我已经对YUI论坛条目发表评论,因为我不知道这是否真的是一个我可以填写YUI bug报告工具的bug.

javascript yui

5
推荐指数
1
解决办法
2384
查看次数

在 Javascript 严格模式下,您可以将参数分配给另一个 var 吗?

我正在尝试通过声纳验证 Javascript 代码,但我对严格模式规则有一些疑问。

我正在验证的规则是关于严格模式下的“评估”和“参数”行为

在阅读此规则描述时,似乎我无法将参数分配给新变量以便稍后或在循环中访问它。

在阅读一些文件,从火狐严格模式,并在IE严格模式的规则,我发现基本上都是(适用于这种情况下):

  1. 我不能有任何变量/函数/等命名参数,因为这是一个保留字。
  2. 参数不能被绑定

但是,上面的示例代码似乎违反了声纳规则

var args = arguments;
Run Code Online (Sandbox Code Playgroud)

那么,这是误报还是这段代码违反了严格模式

javascript strict

5
推荐指数
1
解决办法
4436
查看次数

如何在 Heroku 上自动运行 Rails 迁移

我有 10 多个不同的 Ruby on Rails 应用程序,我必须在其中部署相同的代码。我已将 git repo 连接到我的 Heroku 应用程序,因此每当我推送新更改时,它都会在所有应用程序上部署。

问题在于数据库迁移步骤。我想在每次部署后自动运行迁移。自定义构建包都不起作用。有人可以帮帮我吗?我正在使用 rails 4 和狂欢。

到目前为止,我已经尝试过:

  1. https://github.com/heroku/heroku-buildpack-ruby.git
  2. https://github.com/gunpowderlabs/buildpack-ruby-db-migrate.git

此解决方案不起作用。

是否有其他解决方案可以在 Heroku 上自动运行 Rails 迁移?

ruby migration ruby-on-rails heroku rails-migrations

3
推荐指数
1
解决办法
822
查看次数

Created_at.1.year.from_now - Rails

我需要创建一种方法,将创建日期过去一年的日期呈现到表中。我已经尝试过标题中列出的行,但没有成功。我现在有一个表格,旁边列出了“加入日期”,我希望它显示“日期已过期”。自加入之日起一年。

例子:

class Subscriber < ActiveRecord::Base
  validates :first_name, presence: true
  validates :last_name, presence: true
  validates :email, presence: true
  validates :phone_number, presence: true

  def date_joined
   created_at.strftime("%-m/%-d/%-y")
  end

  def expiration_date
   created_at.1.year.from_now
  end
end
Run Code Online (Sandbox Code Playgroud)

我应该如何格式化该expiration_date方法。date_joined 工作正常。

ruby ruby-on-rails

3
推荐指数
1
解决办法
6357
查看次数

在Javascript中,A ==!B始终与A!= B相同

重构一些旧代码,我发现了以下内容:

someVar == !otherVar
Run Code Online (Sandbox Code Playgroud)

这看起来并不清晰,我认为可以写成:

someVar != otherVar
Run Code Online (Sandbox Code Playgroud)

这样做似乎是合乎逻辑的.但是,由于这是Javascript,我担心附带问题,所以这真的没问题吗?

javascript logic boolean-logic boolean-expression

3
推荐指数
2
解决办法
89
查看次数