У методов get с аннотациями должны быть методы set

Если класс сущности обращается к свойствам путем размещения аннотаций в методах get и set, то для обеспечения постоянного хранения поля требуется наличие обоих методов get и set. Методы get с аннотациями, у которых нет парного метода set, игнорируются OpenJPA, в то время как EclipseLink генерирует исключительную ситуацию.

Это правило отмечает методы get с аннотациями, предназначенные для полей доступа к свойствам, у которых нет парного метода set. Необходимо проверить определение сущности и изменить его необходимым образом. Если поле должно игнорироваться провайдером JPA, удалите аннотации из метода get. Если поле должно постоянно храниться, добавьте метод set.

В следующем классе сущности правило отметит метод getVersion.

package entities;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Transient;
import javax.persistence.Version;

@Entity
public class MissingSetter2  {
	
	private int id;
	private long time;
	
	public MissingSetter2 (int id) {
		this.id = id;
	}

	@Id
	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}
	
	// этот метод get не имеет аннотации, поэтому он не будет отмечен.
	public long getTime() {
		return time;
	}
	
	// этот метод get имеет аннотацию и не имеет парного метода set, поэтому он будет отмечен.
	@Version
	public double getVersion() {
		return 2.0;
	}
	
	public MissingSetter2() {
		time = 0;
	}
}

Для получения дополнительной информации об этой проблеме и других проблемах, возникающих при миграции OpenJPA в EclipseLink, обратитесь к руководству Миграция OpenJPA в EclipseLink JPA: преобразования.