Частные методы доступа должны иметь аннотацию Transient

В соответствии со спецификацией JPA 2.1, методы доступа к свойствам должны иметь модификатор public или protected, если они используются. OpenJPA игнорирует любые частные (private) методы доступа, а EclipseLink сохраняет эти атрибуты. Для того чтобы частные методы доступа игнорировались в EclipseLink, к ним необходимо добавить аннотацию Transient.

Это правило отмечает частные методы доступа get. Предусмотренная для этого правила процедура быстрого исправления добавляет аннотацию javax.persistence.Transient в метод, чтобы приложение могло работать в EclipseLink так же, как в OpenJPA. Для сохранения атрибута не применяйте быстрое исправление, а вручную измените модификатор private на public или protected.

Ниже приведен пример метода getNonPersistentField() в классе сущности, который отметит это правило:

package entities;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class PrivateAccessor  {
	
	private int id;
	private int field;
	
	@Id
	public int getId() {
		return id;
	}

 	public void setId(int id) {
		this.id = id;
	}
	
	private int getNonPersistentField() {
		return nonPersistentField;
	}
	
	private void setNonPersistentField(int value) {
		this.field = value;
	}

}

После применения быстрого исправления к методу доступа private применяется аннотация Transient и добавляется оператор импорта.

package entities;

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

@Entity
public class PrivateAccessor  {
	
	private int id;
	private int field;
	
	@Id
	public int getId() {
		return id;
	}

 	public void setId(int id) {
		this.id = id;
	}
	
	@Transient
	private int getNonPersistentField() {
		return nonPersistentField;
	}
	
	private void setNonPersistentField(int value) {
		this.field = value;
	}
}

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