Precyzja BigDecimal nie jest zachowywana z adnotacjami JPA

Korzystam z interfejsu API javax.persistence i Hibernate, aby tworzyć adnotacje i utrzymywać elementy i ich atrybuty w bazie danych Oracle 11g Express.

Mam następujący atrybut w obiekcie:

@Column(precision = 12, scale = 9)
private BigDecimal weightedScore;

Celem jest utrzymanie wartości dziesiętnej z maksymalnie 12 cyframi i maksymalnie 9 z tych cyfr po prawej stronie miejsca dziesiętnego.

Po obliczeniuweightedScore, wynik wynosi 0.1234, ale gdy zatwierdzę obiekt za pomocą bazy danych Oracle, wartość jest wyświetlana jako 0,12.

Widzę to, używając obiektu EntityManager do zapytania o wpis lub wyświetlając go bezpośrednio w interfejsie Oracle Application Express (Apex) w przeglądarce internetowej.

Jak należy opisać mój atrybut BigDecimal, aby precyzja była poprawna?

Uwaga: Używamy bazy danych HSQL w pamięci do uruchamiania naszych testów jednostkowych i nie występuje problem z brakiem precyzji, z lub bez@Column adnotacja.

Aktualizacja:

Patrząc na opis tabeli, definicjęweightedScore kolumna jestNUMBER(19, 2). Próbowałem teraz zmienić adnotację na@Column(columnDefinition="Number(12, 9)"), ale to nie przyniosło skutku. Czy ktoś wie, dlaczego Oracle nie odpowiada na te adnotacje?

questionAnswers(2)

yourAnswerToTheQuestion