Чтобы уточнить ответ Божо: в JPA 2.0 (Hibernate 3.5 и выше) вы объявляете одно поле с доступом к свойству следующим образом:
@Access(AccessType.FIELD)
public class Foo {
...
@Access(AccessType.PROPERTY)
@Column(name="avatar",nullable=false,length=1000)
String getAvatarData() { ... }
void setAvatarData(String data) { ... }
}
в предыдущих версиях Hibernate - как показано ниже (обратите внимание, что аннотации по-прежнему размещаются на поле):
@Access("field")
public class Foo {
...
@Access("property")
@Column(name="avatar",nullable=false,length=1000)
private Avatar avatarData;
String getAvatarData() { ... }
void setAvatarData(String data) { ... }
...
}