Рассмотрим этот класс:
@Entity
class Bar {
@Id
private long id;
private FooId fooId;
/* ... */
}
Где Foo
в основном просто:
class FooId {
private String id;
/* ... */
}
Я (конечно) получаю ошибку, что «Базовые атрибуты могут быть только следующих типов: ...».
Есть ли способ указать JPA (или EclipseLink) обрабатывать мое поле fooId
в Bar
как строку?
Причина, по которой я использую некоторый тип-обертку вместо простой строки, заключается в том, что я хочу обеспечить некоторую безопасность типов в своих API.
E. г. getAllFooWithBaz(FooId fooId, BazId bazId)
вместо getAllFooWithBaz(String fooId, String bazId)
.
Или есть лучший способ добиться этого?