Erste Spalte die Länge von der Hibernate-mappings?
Zur Validierung von Daten, die ich erhalte, die ich brauche, um sicherzustellen, dass die Länge wird nicht überschritten, einen Datenbank-Spalte-Länge. Jetzt haben alle die Länge der Informationen, die gespeichert wird in der Hibernate-mapping-Dateien, ist es trotzdem Zugriff auf diese Informationen programmgesteuert?
- Siehe auch stackoverflow.com/questions/1816780 für eine JPA-Lösung für dieses problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie um es zu bekommen aber es geht einfach nicht. Möchten Sie vielleicht etwas tun, wie Sie unten bei starten und speichern eines statischen cache-Werte. Es gibt eine Menge von speziellen Fällen zu behandeln (erbschaft, etc), aber es sollte funktionieren, für einfache spaltenzuordnungen. Ich könnte weggelassen haben einige instanceof und null prüft.
Basierend auf Brian ' s Antwort, dies ist, was ich am Ende tun.
Dies scheint gut zu funktionieren. Hoffe, das ist hilfreich für jeden, stößt auf diese Frage.
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build(); Metadata metaData = new MetadataSources(standardRegistry).getMetadataBuilder().build(); List<PersistentClass> persistentClasses = new ArrayList<PersistentClass>(metaData.getEntityBindings());
Meine bevorzugte Muster Entwicklung ist auf Basis der Spalte Länge auf eine Konstante, die leicht verwiesen:
Kann es manchmal sein problem, um die Konfigurations-Objekt (wenn Sie einige Anwendungs-framework, und Sie sind nicht die Schaffung session Fabrik, indem Sie sich mit der Konfiguration).
Wenn Sie zum Beispiel Spring, die Sie verwenden können, die LocalSessionFactoryBean (von Ihrer Datei ApplicationContext) to obtain Configuration-Objekt. Dann erhalten der Spalte Länge wird nur Stück Kuchen 😉
Jedoch, wenn ich versuche, auf die
LocalSessionFactoryBean
nehme ich eine class cast exceptionAusnahme:
Dies scheint verschlagen....
EDIT: die Antwort gefunden. Sie müssen verwenden Sie ein kaufmännisches und-Zeichen vor die bean-name string
siehe in diesem Frühjahr forum posten