Это, вероятно, заразит меня отрицательным голосом, потому что я всегда голосую за то, что предложили его, но вы можете использовать AspectJ несколькими способами для обеспечения этого:
Либо автоматизируйте решение Mac (make AspectJ внедряет аннотацию @Column
):
declare @field : (@Entity *) *.* : @Column(insertable=false);
Или объявляет ошибку компилятора для всех прав доступа к заданным методам:
declare error : execution((@Entity *) *.set*(*) );
Недостаток: вам необходимо добавить компиляцию AspectJ в вашпостроить, но это легко, если вы используете муравей или maven