Я спрашиваю, потому что я хотел бы использовать генерацию кода для геттеров/сеттеров.
А также потому, что я бы предпочел, чтобы аннотации сопоставления появлялись в верхней части класса, где я объявляю поля.
Интересно, правильный ли этот подход:
@Entity
@Table(name = "test")
// @Access(AccessType.PROPERTY) // cannot use this, because hibernate complains that no
public class Test implements Serializable
{
@Id
// I hope this results in property access for all of the other
// properties as well, but I am not sure how to confirm this...
@Access(AccessType.PROPERTY)
@Column(name = "id")
private long id = 0;
@Column(name = "test_string")
private String testString = null;
...
Обновление: я только что протестировал приведенный выше пример, и похоже, что доступ к свойству testString осуществляется с использованием доступа к полю. Я добавил операторы ведения журнала в геттер/сеттер, и они никогда не вызывались. С другой стороны, когда я добавил @Access(AccessType.PROPERTY) также в поле 'testString', были вызваны методы получения и установки.
Итак, на данный момент мой единственный вариант — написать «@Access(AccessType.PROPERTY)» перед каждым полем :-(