如何对日期进行约束

时间:2018-03-18 21:36:32

标签: oracle date jpa java-ee

我遇到了在JPA上创建数据库表的问题。我有一些属性用于创建数据库表以及Date的两个字段。我需要确保,DateEnd的输入必须大于DateStart的输入

@Column(name="START")
private LocalDate dateStart
@Column(name="END")
private LocalDate dateEnd

感谢您的任何建议

2 个答案:

答案 0 :(得分:0)

在实体级别上无法实现,您应该使用Heights[sample(nrow(Heights), 5), ] [1] 1.84 1.65 1.73 1.70 1.72 实现来定义自定义costraint。有关文档,请参阅here

答案 1 :(得分:0)

当您将其标记为" Oracle"问题,如果你想在数据库中这样做,自然选择将是CHECK约束。

以下是一个示例(请注意,日期文字格式为' YYYY-MM-DD'):

SQL> create table test (id number, date_start date, date_end date);

Table created.

SQL> alter table test add constraint ch_test_date check (date_start <= date_end);

Table altered.

SQL> insert into test values (1, date '2018-03-19', date '2018-05-10');

1 row created.

SQL> update test set date_end = date '2010-01-02' where id = 1;
update test set date_end = date '2010-01-02' where id = 1
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH_TEST_DATE) violated


SQL> insert into test values (1, date '2018-03-19', date '2018-01-02');
insert into test values (1, date '2018-03-19', date '2018-01-02')
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH_TEST_DATE) violated


SQL>