简体   繁体   中英

Hibernate Mapping Map<String,String>

I use Hibernate 4.3.11 with H2 Database. I have a class in Java with several maps with annotations. Persisting works fine but my map in my H2 Database has no entries.

@ElementCollection
@MapKeyColumn(name = "key")
@CollectionTable(name = "value", joinColumns = @JoinColumn(name = "sabilanz_id"))
@Column(name = "value")
private Map<String, String> sonstAnlagen;

My H2 output:

select * from saBilanz_sonstanlagen;

SABILANZ_ID VALUE KEY
(keine Datensätze, 8 ms)

MYSQL Dump

CREATE USER IF NOT EXISTS SA SALT '7f72b2df54de3e6a' HASH '11116078543527d2f2c87f3df156e18f71f7d1bc0e5a7a7653d22512c9de2994' ADMIN;
    CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_8A6BCC6F_6599_4635_8D43_45F8DC56F9AD START WITH 65 BELONGS_TO_TABLE;
    CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_644997FC_AAC3_4D75_B453_FD4E56B7D326 START WITH 65 BELONGS_TO_TABLE;
    CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_61E73E74_EF49_4B3E_AA95_432C69B31DDB START WITH 65 BELONGS_TO_TABLE;
    CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_3CF73C6A_6FE2_4978_BD20_EAC744ED7F25 START WITH 65 BELONGS_TO_TABLE;
    CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_676C7731_65A8_41CA_9097_14C131188E32 START WITH 65 BELONGS_TO_TABLE;
    CREATE CACHED TABLE PUBLIC.BILANZ( 
        ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_676C7731_65A8_41CA_9097_14C131188E32) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_676C7731_65A8_41CA_9097_14C131188E32, 
        AKTIVA VARCHAR(255), 
        ANLAGEVERMOEGEN VARCHAR(255), 
        BUCHUNGSKREIS VARCHAR(255), 
        EIGENKAPITAL VARCHAR(255), 
        FINANZANLAGEN VARCHAR(255), 
        FORDERUNGEN VARCHAR(255), 
        GEWINNRUECKLAGEN VARCHAR(255), 
        GEZEICHNETESKAPITAL VARCHAR(255), 
        IMMATERIELLEVERMOEGENSGEGENSTAENDE VARCHAR(255), 
        JAHRESUEBERSCHUSS VARCHAR(255), 
        KAPITALRUECKLAGE VARCHAR(255), 
        LIQUIDEMITTEL VARCHAR(255), 
        PASSIVA VARCHAR(255), 
        PERIODE VARCHAR(255), 
        RUECKSTELLUNGEN VARCHAR(255), 
        SACHANLAGEN VARCHAR(255), 
        UMLAUFVERMOEGEN VARCHAR(255), 
        VERBINDLICHKEITEN VARCHAR(255), 
        VORRAETE VARCHAR(255), 
        WAEHRUNG VARCHAR(255), 
        WERTPAPIERE VARCHAR(255) 
    );
    ALTER TABLE PUBLIC.BILANZ ADD CONSTRAINT PUBLIC.CONSTRAINT_7 PRIMARY KEY(ID);
    -- 2 +/- SELECT COUNT(*) FROM PUBLIC.BILANZ;
    INSERT INTO PUBLIC.BILANZ(ID, AKTIVA, ANLAGEVERMOEGEN, BUCHUNGSKREIS, EIGENKAPITAL, FINANZANLAGEN, FORDERUNGEN, GEWINNRUECKLAGEN, GEZEICHNETESKAPITAL, IMMATERIELLEVERMOEGENSGEGENSTAENDE, JAHRESUEBERSCHUSS, KAPITALRUECKLAGE, LIQUIDEMITTEL, PASSIVA, PERIODE, RUECKSTELLUNGEN, SACHANLAGEN, UMLAUFVERMOEGEN, VERBINDLICHKEITEN, VORRAETE, WAEHRUNG, WERTPAPIERE) VALUES 
    (1, '981561.00', '738090.00', '1000', '694549.00', '645086.00', '82568.00', '539628.00', '75054.00', '33256.00', '79468.00', '399.00', '5396.00', '981561.00', '2015.01', '97138.00', '59748.00', '243471.00', '189874.00', '124393.00', 'EUR', '31114.00'), 
    (33, '981561.00', '738090.00', '1000', '694549.00', '645086.00', '82568.00', '539628.00', '75054.00', '33256.00', '79468.00', '399.00', '5396.00', '981561.00', '2015.01', '97138.00', '59748.00', '243471.00', '189874.00', '124393.00', 'EUR', '31114.00');
    CREATE CACHED TABLE PUBLIC.GUV( 
        ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_61E73E74_EF49_4B3E_AA95_432C69B31DDB) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_61E73E74_EF49_4B3E_AA95_432C69B31DDB, 
        ABSCHREIBUNGEN VARCHAR(255), 
        BESTANDSVERAENDERUNGEN VARCHAR(255), 
        BETRIEBSERGEBNIS VARCHAR(255), 
        BILANZGEWINNBILANZVERLUST VARCHAR(255), 
        ERGEBNISDERGEWOEHNLICHENGESCHAEFTSTAETIGKEIT VARCHAR(255), 
        ERTRAEGEAUSBETEILIGUNGEN VARCHAR(255), 
        FINANZERGEBNIS VARCHAR(255), 
        MATERIALAUFWAND VARCHAR(255), 
        PERSONALAUFWAND VARCHAR(255), 
        SONSTIGEBETRIEBLICHEAUFWENDUNGEN VARCHAR(255), 
        SONSTIGEBETRIEBLICHEERTRAEGE VARCHAR(255), 
        STEUERN VARCHAR(255), 
        UMSATZERLOESE VARCHAR(255), 
        ZINSAUFWENDUNGEN VARCHAR(255), 
        ZINSERTRAEGE VARCHAR(255) 
    );
    ALTER TABLE PUBLIC.GUV ADD CONSTRAINT PUBLIC.CONSTRAINT_1 PRIMARY KEY(ID);
    -- 2 +/- SELECT COUNT(*) FROM PUBLIC.GUV;
    INSERT INTO PUBLIC.GUV(ID, ABSCHREIBUNGEN, BESTANDSVERAENDERUNGEN, BETRIEBSERGEBNIS, BILANZGEWINNBILANZVERLUST, ERGEBNISDERGEWOEHNLICHENGESCHAEFTSTAETIGKEIT, ERTRAEGEAUSBETEILIGUNGEN, FINANZERGEBNIS, MATERIALAUFWAND, PERSONALAUFWAND, SONSTIGEBETRIEBLICHEAUFWENDUNGEN, SONSTIGEBETRIEBLICHEERTRAEGE, STEUERN, UMSATZERLOESE, ZINSAUFWENDUNGEN, ZINSERTRAEGE) VALUES 
    (1, '13461.00', '15717.00', '45276.00', '79468.00', '104102.00', '65202.00', '58826.00', '476269.00', '121990.00', '229256.00', '112319.00', '24634.00', '758216.00', '9583.00', '3207.00'), 
    (33, '13461.00', '15717.00', '45276.00', '79468.00', '104102.00', '65202.00', '58826.00', '476269.00', '121990.00', '229256.00', '112319.00', '24634.00', '758216.00', '9583.00', '3207.00');
    CREATE CACHED TABLE PUBLIC.ROI( 
        ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8A6BCC6F_6599_4635_8D43_45F8DC56F9AD) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_8A6BCC6F_6599_4635_8D43_45F8DC56F9AD, 
        ROI VARCHAR(255) 
    );
    ALTER TABLE PUBLIC.ROI ADD CONSTRAINT PUBLIC.CONSTRAINT_13 PRIMARY KEY(ID);
    -- 2 +/- SELECT COUNT(*) FROM PUBLIC.ROI;
    INSERT INTO PUBLIC.ROI(ID, ROI) VALUES 
    (1, '0.15'), 
    (33, '0.15');
    CREATE CACHED TABLE PUBLIC.SABILANZ_SONSTANLAGEN( 
        SABILANZ_ID BIGINT NOT NULL, 
        VALUE VARCHAR(255), 
        KEY VARCHAR(255) NOT NULL 
    );
    ALTER TABLE PUBLIC.SABILANZ_SONSTANLAGEN ADD CONSTRAINT PUBLIC.CONSTRAINT_7C PRIMARY KEY(SABILANZ_ID, KEY);
    -- 0 +/- SELECT COUNT(*) FROM PUBLIC.SABILANZ_SONSTANLAGEN;
    CREATE CACHED TABLE PUBLIC.UHV( 
        ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_3CF73C6A_6FE2_4978_BD20_EAC744ED7F25) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_3CF73C6A_6FE2_4978_BD20_EAC744ED7F25, 
        UMSCHLAGSHAEUFIGKEITSVERMOEGEN VARCHAR(255) 
    );
    ALTER TABLE PUBLIC.UHV ADD CONSTRAINT PUBLIC.CONSTRAINT_14 PRIMARY KEY(ID);
    -- 2 +/- SELECT COUNT(*) FROM PUBLIC.UHV;
    INSERT INTO PUBLIC.UHV(ID, UMSCHLAGSHAEUFIGKEITSVERMOEGEN) VALUES 
    (1, '2.5'), 
    (33, '2.5');
    CREATE CACHED TABLE PUBLIC.UMSATZRENDITE( 
        ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_644997FC_AAC3_4D75_B453_FD4E56B7D326) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_644997FC_AAC3_4D75_B453_FD4E56B7D326, 
        UMSATZRENDITE VARCHAR(255) 
    );
    ALTER TABLE PUBLIC.UMSATZRENDITE ADD CONSTRAINT PUBLIC.CONSTRAINT_6 PRIMARY KEY(ID);
    -- 2 +/- SELECT COUNT(*) FROM PUBLIC.UMSATZRENDITE;
    INSERT INTO PUBLIC.UMSATZRENDITE(ID, UMSATZRENDITE) VALUES 
    (1, '6'), 
    (33, '6');
    ALTER TABLE PUBLIC.SABILANZ_SONSTANLAGEN ADD CONSTRAINT PUBLIC.FK_698G1BM2MSCHIYFFSB12ONGIR FOREIGN KEY(SABILANZ_ID) REFERENCES PUBLIC.BILANZ(ID) NOCHECK;

You didn't insert any value into saBilanz_sonstanlagen table. It's normal that it doesn't have any record.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM