Hibernacja kwerendy z nazwą podmiotu
Używam POJO, aby zdefiniować dwie tabele (główna i zapasowa). Obie klasy XML odnoszą się do tej samej klasy Java.
Odniesienie :Mapowanie tego samego POJO do więcej niż jednej tabeli w plikach mapowania XML Hibernate
<hibernate-mapping>
<class name="com.mypackage.model.Table1" table="Table1" entity-name="Table1">
<id name="Id" type="java.lang.Long">
<column name="ID" />
<generator class="identity" />
</id>
<property name="name" type="string">
<column name="NAME" length="20" />
</property>
<property name="age" type="int">
<column name="AGE" />
</property>
</class>
<class name="com.mypackage.model.Table1" table="Table2" entity-name="Table2">
<id name="Id" type="java.lang.Long">
<column name="ID" />
<generator class="identity" />
</id>
<property name="name" type="string">
<column name="NAME" length="20" />
</property>
<property name="age" type="int">
<column name="AGE" />
</property>
</class>
</hibernate-mapping>
Definiowanie POJO:
public class Table1 implements Serializable {
private static final long serialVersionUID = -594654774484987124L;
private Long id;
private String Name;
private int Age;
// Getters and setters.... Removed...
}
Jestem w stanie tworzyć różne tabele. A także używając
session.saveOrUpdate(entityName, myObject)
API Jestem w stanie dodawać nowe rekordy do tych tabel indywidualnie.
Podczas pobierania korzystam z HQL
Query query = session.createQuery("from Table1");
list = query.list();
Zwraca mi wszystkie rekordy w tabeli 1, a także w tabeli 2. Jeśli spróbuję podać tabelę 2, błąd zostanie wyświetlony „Tabela 2 nie jest mapowana”
Czy istnieje jakikolwiek zapis danych z TYLKO tabeli1 i tabeli2 indywidualnie.