Я пытаюсь создать схему динамически с помощью hibernate/Java/GWT, я создаю файлы cfg.xml и hbm.xml динамически и сохраняя его в базе данных как blob.Как добавить ресурс сопоставления в конфигурацию гибернации программно для создания фабрики сеансов?
Поэтому я хочу построить sessionfactory для схемы. Для того же я создаю конфигурации объекта с помощью файла cfg.xml, но так как мои hbm.xml файлы находятся в другой таблице, они не являются файлами в файловой системе, так как я могу добавить его в объект конфигурации в качестве ресурса. Я не хочу, чтобы создать файлы для них в файловой системе.
Я попытался addInputStream(), AddFile() методы, но они бросают MappingNotFoundException.
Как обычный метод Я знаю, как создать sessionfactory, например, добавив тег <mapping resource="abc.hbm.xml">
в cfg.xml и т. Д. Но как я могу добавить их в конфигурацию, потому что у меня нет файлов hbm.xml?
мой файл cfg.xml хранится в таблице:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">passwd</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/testSchema</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="javax.persistence.validation.mode">none</property>
<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
<property name="hibernate.default_entity_mode">dynamic-map</property>
</session-factory>
</hibernate-configuration>
мой файл hbm.xml хранится в таблице:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<hibernate-mapping>
<class entity-name="testTable1">
<id column="id" name="id" type="Long">
<generator class="identity"/>
</id>
<property column="id" length="20" name="id" type="Long"/>
<property column="booleanColumn" length="1" name="booleanColumn" type="Byte"/>
<property column="doubleColumn" length="20" name="doubleColumn" type="Long"/>
<property column="dateColumn" name="dateColumn" type="Double"/>
</class>
</hibernate-mapping>
Пожалуйста, ваши cfg.xml здесь. –
@ Ruchi: см. Мой отредактированный вопрос. –
Вы использовали Spring для своего проекта? –