JPA / Hibernate DDL-Generierung; CHAR gegen VARCHAR

8

Ich habe ein JPA / Hibernate-Datenmodell, mit dem ich das Hibernate-Tool hbm2ddl zum Generieren der Datenbank-DDL verwende. Ich habe einige Zeichenfolgen, die CHAR sein sollten, und einige, die VARCHAR in der Datenbank sein können. Ich möchte die Handbearbeitung der DDL minimieren (mir ist klar, dass einige passieren müssen).

Weiß jemand, wie ich das machen soll? Ich stelle fest, dass ich alle Strings VARCHARS oder CHARS über einen gehackten Dialekt machen kann, aber das ist nicht immer das, was in der Datenbank immer passend ist.

Ich möchte dies mit Annotationen oder aop machen können, indem ich in meinen Klassen den benutzerdefinierten Spaltendefinitionstext vermeide.

Danke.

    
Jeff Walker 18.02.2010, 17:27
quelle

2 Antworten

4

Also, ich habe endlich gefunden, dass Sie eine Länge für einen Typ im Dialekt angeben können. Also, ich habe beschlossen, dass alles unter einer Länge von 10 Char sein sollte und alles darüber sollte Varchar sein:

%Vor%

Das ist nicht genau das, was ich wollte, aber das ist gut genug. Traurig, dass ich das früher nicht gefunden habe.

    
Jeff Walker 19.02.2010, 16:55
quelle
12

Notieren Sie die Zeichenfolgen, die Sie einem CHAR in der Datenbank zuordnen möchten @Column(columnDefinition="CHAR(<your-char-length>)") .

    
Markus Knittig 18.02.2010 19:13
quelle