One solution could be to use a class hierarchy with table-per-concrete-class strategy:
Code:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class MyBusiness {
... ///persistent field + property declarations
}
@Entity
public class Original extends MyBusiness { }
@Entity
public class Archive extends MyBusiness { }
In this way you define the class MyBusiness only once with all its properties,
but is mapped with 2 different tables on database (table 'original' + table 'archive')