2016-09-14 24 views
1

Возможно ли иметь уникальное ограничение над встроенным объектом в библиотеке javax.persistence без упоминания всех столбцов отдельно?Уникальное ограничение на встроенный объект?

Что у меня есть:

@Table(uniqueConstraints = { @UniqueConstraint(columnNames = { "someReference", "id1", "id2" }) }) 
public class A { 
    @Embedded 
    private B embedded; 
    private String someReference; 
} 

@Embeddable 
public class B { 
    private long id1; 
    private long id2; 
} 

То, что я хочу (более или менее):

@Table(uniqueConstraints = { @UniqueConstraint(columnNames = {"someReference", "embedded" }) }) 

ответ

0

Нет. Когда мы создаем какой-либо объект как Embedded, обычно понимается, что он никогда не сохранит один и тот же объект Embedded в реляционных базах данных снова, как только он будет вставлен. Но могут возникнуть случаи использования, в которых нам могут потребоваться уникальные уникальные атрибуты атрибутов объекта Embedded для реляционной базы данных.

Для хранилища данных в документе хорошо иметь тот же встроенный объект, который присутствует в разных документах в рамках схемы.