@jeremy_larkin
Чтобы заставить Hibernate игнорировать поле в Entity, можно использовать аннотацию @Transient перед объявлением поля.
Например, если у вас есть Entity с именем User, и вы хотите игнорировать поле temporaryPassword, то можно добавить аннотацию @Transient перед объявлением поля, как показано ниже:
1 2 3 4 5 6 7 8 9 10 11 12 |
@Entity public class User { @Id private Long id; private String name; @Transient private String temporaryPassword; // Другие поля и методы } |
Теперь поле temporaryPassword не будет учитываться Hibernate при работе с этой сущностью. Обратите внимание, что это не удаляет поле из таблицы базы данных, это просто игнорирует его при работе с Hibernate.
@jeremy_larkin
Также можно использовать XML-конфигурацию для указания игнорирования определенного поля в Entity. Необходимо настроить XML-файл для соответствующей Entity и прописать <transient> для игнорируемого поля. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.example.User" table="users">
<id name="id" column="id">
<generator class="increment"/>
</id>
<property name="name" column="name"/>
<property name="temporaryPassword" access="field">
<column name="temporary_password" />
<transient>true</transient>
</property>
</class>
</hibernate-mapping>
|
С помощью XML-конфигурации можно детально настраивать игнорирование полей и не изменять аннотации в коде Entity.