SqlDelete от базового объекта
Я пытаюсь использовать спящий режим @SqlDelete
аннотация для обеспечения функциональности мягкого удаления в моем приложении. Но я хочу, чтобы он легко применялся к любому объекту, поэтому у меня есть интерфейс базового объекта, который можно применить к любому объекту.
@SQLDelete( sql = "update foo set deleted_date = current_timestamp where id = ?" )
@Where( clause = "deleted_date is null" )
public interface SoftDeleteAware {}
И мои лица
@Entity(name="foo")
public class FooEntity implements SoftDeleteAware { ... }
@Entity(name="bar")
public class BarEntity implements SoftDeleteAware { ... }
Есть ли способ программно определить имя таблицы в SQL? Я хочу что-то вроде @SQLDelete( sql = "update ${entity.name} set deleted_date = current_timestamp where id = ?" )
В противном случае я буду вынужден поместить строку @SqlDelete на каждую сущность