小编Joc*_*lyn的帖子

创建或覆盖 Rails Active Record 宏

在Rails应用程序,活动记录创建created_atupdated_at列谢宏,(它似乎也被称为“魔法列”)。

查看Active Record 迁移

我对这个机制有一些疑问:

  • 是否可以覆盖它以获得第三列(例如deleted_at)?
  • 是否有可能创建一个新的宏t.publishing,将创建publish_uppublish_down列,例如?
  • 在哪里编码?

显然,我知道我可以手动添加这些列,但我想知道如何使用宏来实现它。

4. 在 Rails 上工作

macros timestamp ruby-on-rails rails-activerecord

2
推荐指数
1
解决办法
606
查看次数

10 位 BigDecimal 无法保存在 NUMBER(10, 2) 列中

在 Oracle 12 数据库中,我的列之一是用 NUMBER(10,2) 定义的。目标是存储这样的数字:12345678.12。实际上,感谢 Oracle SQL Developer,我可以存储这样的数字,因此格式是匹配的。

通过我的 Hibernate-Java 应用程序,当我更新包含以下值的实体时,它会起作用:

1.12
12.12
123.12
1234.12
12345.12
123456.12
Run Code Online (Sandbox Code Playgroud)

但通过以下内容,我收到错误

1234567.12
12345678.12

ORA-01438: value larger than specified precision allowed for this column
Run Code Online (Sandbox Code Playgroud)

它看起来像一个 NUMBER(8, 2)...

该字段位于 @Embeddable 类中,类型为 BigDecimal,没有任何字段注释:

@Entity
@Table(...)
public class ClassA implements Serializable {

    @Embedded
    private ClassB bObject;
}

@Embeddable
public class ClassB implements Serializable {

    @Embedded
    private ClassC cObject;
}

@Embeddable
public class ClassC implements Serializable {

    private BigDecimal myField;
}
Run Code Online (Sandbox Code Playgroud)

还有其他东西可以覆盖我的列定义吗?

java oracle hibernate bigdecimal

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