Qual é o objetivo de AccessType.FIELD, AccessType.PROPERTY e @Access

Eu só quero saber qual é a diferença entre todas essas anotações. Por que estamos usando estes ... significa que eles não têm efeito, especialmente nível de campo e nível de propriedade.

E qual é o propósito de usar anotações de nível misto como:

@Entity
@Access(AccessType.FIELD)
class Employee {
    // why their is a field level access 
    private int id;

    // whats the purpose of transient here
    @Transient                               
    private String phnnumber;

    // why its a property level access
    @Access(AccessType.property)             
    public String getPhnnumber() {
        return "1234556";
    }

}

o que exatamente essa classe diz?

questionAnswers(1)

yourAnswerToTheQuestion