-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: einen Vector mappen ?!
PostPosted: Wed Sep 20, 2006 12:04 pm 
Newbie

Joined: Tue Aug 29, 2006 5:03 pm
Posts: 12
Location: Leipzig
Hallo,

ich habe mal wieder eine Frage. Ich möchte einen Vector mappen.

Wenn der Vector nur 5 Elemente beinhaltet, funktioniert alles prima.
Wenn der Vector 40 Elemente beinhaltet schneidet der JDBC etwas ab und es kommt zur Exception:


ku, sonolk, blut und bild sind die gemeinten vectoren, die jeweis nur boolean-werte enthalten.

Code:
Hibernate: insert into Leitlinie (bezeichnung, ku, sonolk, blut, bild) values (?, ?, ?, ?, ?)
Exception occurred during event dispatching:
org.hibernate.exception.GenericJDBCException: could not insert: [my.TAP.Leitlinie]
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
17:38:58,750  WARN JDBCExceptionReporter:71 - SQL Error: 0, SQLState: 01004
17:38:58,750 ERROR JDBCExceptionReporter:72 - Data truncation
17:38:58,750  WARN JDBCExceptionReporter:71 - SQL Error: 8152, SQLState: 22001
17:38:58,750 ERROR JDBCExceptionReporter:72 - Zeichenfolgen- oder Binärdaten werden abgeschnitten.
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)


Wie könnte ich es besser machen? Besten Dank für jede Hilfe!!


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 20, 2006 3:51 pm 
Expert
Expert

Joined: Tue Dec 07, 2004 6:57 am
Posts: 285
Location: Nürnberg, Germany
Hi kannst Du mal bitte Das Mapping der Leitlinie Klasse posten.

_________________
Please don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 20, 2006 4:01 pm 
Newbie

Joined: Tue Aug 29, 2006 5:03 pm
Posts: 12
Location: Leipzig
Ja, selbstverständlich ...

das mapping:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="my.TAP">
   <class name="Leitlinie">
      <id name="id" column="id">
         <generator class="native"/>
      </id>
      <property name="bezeichnung"/>
                <property name="ku"/>
                <property name="sonolk"/>
                <property name="blut"/>
                <property name="bild"/>             
   </class>
</hibernate-mapping>


und die klasse selbst:

Code:
package my.TAP;

import java.util.*;
import java.util.Vector;

public class Leitlinie {
    private Long id;         
    private String bezeichnung;
    private Vector ku;
    private Vector sonolk;
    private Vector blut;
    private Vector bild;

        public Long      getId()             { return id; } 
        public Vector   getKu()         { return ku;}
        public Vector   getSonolk()         { return sonolk;}
        public Vector   getBlut()         { return blut;}
        public Vector   getBild()         { return bild;}
        public String getBezeichnung(){return bezeichnung;}
       
        public void     setId(Long id)  { this.id=id; }
        public void     setKu(Vector ku){ this.ku=ku; }
        public void     setSonolk(Vector sonolk){ this.sonolk=sonolk; }
        public void     setBlut(Vector blut){ this.blut=blut; }
        public void     setBild(Vector bild){ this.bild=bild; }
        public void setBezeichnung(String bezeichnung){this.bezeichnung=bezeichnung;}

}



hast du schon einen Verdacht?

Im SQLServer sind die Attribute nach dem SchemaExport mit dem Typ Varbinary255 angelegt worden.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 21, 2006 4:06 am 
Expert
Expert

Joined: Tue Dec 07, 2004 6:57 am
Posts: 285
Location: Nürnberg, Germany
Quote:
Im SQLServer sind die Attribute nach dem SchemaExport mit dem Typ Varbinary255 angelegt worden.


Unter anderem liegt das Problem genau da.

Das Mapping das Du hier hast kann nicht wirklich funktionieren. Du versuchst eine collection auf eine Spalte zu mappen, was ein wenig strage ist.

Was willst Du denn da genau machen?

_________________
Please don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 21, 2006 5:51 am 
Newbie

Joined: Tue Aug 29, 2006 5:03 pm
Posts: 12
Location: Leipzig
Hallo,

also ich will eben eine Collection, im speziellen vier Vectoren, persistieren.

aussehen soll es so:
http://www.xhb.de/vec.jpg
Das Objekt beinhaltet einen String für die Bezeichung des Objektes und vier variable Vectoren. Ich dachte, das hibernate einen Vector als binäres Objekt in der DB ablegt. Ist das ein Trugschluss? Oder ist ein 40-elementiger Vector vom Speicherbedarf her größer als ein Varbinary255 ?

... Anscheinend, denn der 5-elementige Vector wurde ja persistiert ....

Hast du eine Idee, wie ich es besser machen kann?

klar, man könnte 160 einzelne boolean-attribute anlegen, aber, naja, da weiß ich auch nicht so recht ....


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 21, 2006 11:39 am 
Expert
Expert

Joined: Tue Dec 07, 2004 6:57 am
Posts: 285
Location: Nürnberg, Germany
Hast Du die Datenbank in der Hand? Kannst Du also Tabellen und Spalten ändern oder musst du auf ein fixes DB Schema zugreifen?

_________________
Please don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 21, 2006 11:42 am 
Newbie

Joined: Tue Aug 29, 2006 5:03 pm
Posts: 12
Location: Leipzig
Ich kann da selber dran rum drehen. Hab die db z.Z. lokal auf meinem PC drauf.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.