2015-07-15 19 views
5

ile oluşturuldu Oracle 11 XE'de bir veritabanım var ve tüm tablolarım NUMERIC(22,0) olan birincil anahtarlara sahip. Eclipse'de Hibernate tools ile model sınıfları oluşturdum. Ne yazık ki, tüm NUMERIC alanları BigDecimal s olarak uygulanmıştır. INT sütunlarını temsil eden alanlar bile değişir. Bazı tersine mühendislik denedim, ama benim durumumda çalışmıyor gibi görünüyor.PK tipini Oracle db model sınıflarında değiştir,

Nasıl düzeltebilirim?

cevap

0

Tür eşleştirmeyi Hazırda Bekletme araçlarında özelleştirebilirsiniz. Reveng.xml dosyasındaki eşlemeleri belirtin. Her JDBC türünü Hazırda Bekletme türüne dönüştürün ve tekrar jeneratörünüzü çalıştırın. Örneğin.

<sql-type>jdbc-type="NUMERIC" precision="22" hibernate-type="Long"</sql-type> 

ayrıca bkz: iyi olur kimlikleri için BIGINT yerine NUMERIC(22,0) kullanmak http://omtlab.com/java-hibernate-reverse-engineering-eclipse-tutorial/

+0

Çalışmıyor. Bu cevap Stack – xenteros

0

. Ardından varlıkları yeniden oluşturun. Java-ID'leri Long tipinde olmalıdır. Eğer değilse, el ile değiştirmek zorundasınız. Genel olarak, oluşturulan varlıkları daha sonra bazı değişikliklere ihtiyaç duyan bir şablon görmelisiniz.

Referans: Mapping SQL and Java Types

+0

üzerinde zaten mevcut değil Benim için çalışmıyor:/ – xenteros

+0

Ne çalışmıyor? – Kai

+0

Hala BIGINT'ten BigDecimal üretir – xenteros