2010-11-12 2 views
2

Я хочу сохранить данные в спящем режиме динамически с карты (например, HashMap).Hibernate, сохраните данные с карты

String entityname = "table1"; 
Map<String,Object> myMap; 

session.save(entityname, myMap); 

Мой HashMap имеет информацию, как: {videoResolution = 921600}

, но я получаю следующее сообщение об ошибке:

org.hibernate.MappingException: Unknown entity: table1 

Мой конфигурационный файл Hibernate настроенный по умолчанию-сущность-режим:

<property name="default_entity_mode">dynamic-map</property> 

Можете ли вы мне помочь?

я уже создан:

Session session = HibernateUtil.getSessionFactory().openSession(); 
Session ds = session.getSession(EntityMode.MAP); 

сохранить карту в БД Vai Hibernate, но я получаю всегда та же ошибка ...

Спасибо :)

+1

Это не имеет смысла, я боюсь. Я думаю, вам действительно нужно перейти на сайт спячки и прочитать несколько руководств, прежде чем продолжить. – willcodejavaforfood

+4

Это относится к DailyWTF. Никакое преступление не предназначено. –

+0

Желаю. Sighhhhhhh. –

ответ

2

Эмм, Hibernate является Объектно-реляционная структура картографирования. Следовательно, вам нужен как объект (содержащий данные, подлежащие сохранению), так и сопоставление (чтобы описать, как атрибуты объекта должны быть помещены в определенные таблицы базы данных, чтобы использовать его).

Невозможно избежать этого фундаментального требования, так же как вы не можете запускать приложение Java без основного класса независимо от того, сколько вы захотите.

Hibernate documentation является исчерпывающим, поэтому я рекомендую посмотреть на руководство и пропустить его через Getting Started. Вы также заметите, что API от session.save требует постоянного класса для аргумента (т. Е. С известным отображением), что вряд ли будет иметь место для java.util.Map.

+0

Извините, я сейчас редактировал. – aymeba

+0

с этим кодом, я могу сохранить данные с этого момента, но теперь я получаю эту ошибку :) – aymeba

+2

Ваш код все еще не компилируется. И что-то говорит мне, что вы еще не читали документацию Hibernate ... –

0

Спящий режим без объектов или картографирования? Я бы сказал, что вы не хотите Hibernate - попробуйте iBatis или прямо JDBC. Что Hibernate покупает вас здесь? Ничего.

Если у вас есть карта (ключ, значение) пар, которые вы хотите хранить в таблице, сделать это следующим образом:

public interface TableMapper<K extends Serializable, V> 
{ 
    Map<K, V> find(); 
    V find(K key); 
    void save(Map<K, V> m); 
    void update(Map<K, V> m); 
    void delete(K key); 
} 

реализует этот интерфейс в Hibernate или Ibatis или JDBC или JDO или JPA , Это позволит вам выполнять операции CRUD с использованием карты Java с хранилищем данных резервного копирования.

+0

Я основал: Session session = HibernateUtil.getSessionFactory(). OpenSession(); Сессия ds = session.getSession (EntityMode.MAP); , чтобы сохранить карту в db vai Hibernate, но я получаю всегда ту же ошибку ... – aymeba

+0

Нет, опять не так. – duffymo

Смежные вопросы