2017-06-26 2 views
1

私はVaadinで新しく、簡単なアプリケーションを作成しようとしています。 私はVaadin CRUDサンプルから始めました。バックエンドプロジェクトを変更して、Hibernateとuiプロジェクトを使用してさまざまなテーブルを管理します。 私はvarchar型とint型のような単純なデータ型のために、今私は、日付のフィールドを追加することを行うことができますが、それは私にこのエラーが返されます。Hibernate5とVaadin8を使用してjava.time.LocalDateを使用するにはどうすればよいですか?

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '\xAC\xED\x00\x05sr\x00\x0Djava.time.Ser\x95]\x84\xBA\x1B"H\xB2\x0C\x00\x00xpw\x07\x03\x00\x00\x07\xE1\x06\x1Ax' for column 'data_nascita' at row 1

「DATA_NASCITAは、」私のmysqlのDB上の日付列で、エンティティがありこのフィールドにリンクされたLocalDate

私は私が追加私のポンポンファイルにように、この新しいJava APIのみHibernate5と互換性があることをどこかで見つかった:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>5.2.10.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-java8</artifactId> 
    <version>5.1.0.Final</version> 
</dependency> 

とエンティティクラスに私はjava.time.LocalDateとjava.util.Dateを置き換えますアノテーション@temporalを削除します。 このフィールドの入力クラスは、VaadinフレームワークのDateFieldです。

これは問題がありますか?

PS:私は盲目なので、Netbeans8でコードをコンパイルしていますが、誰かが同じ技術を使用していて問題がない場合はメモ帳++でコードを修正します。問題がビルドプロセスで何かであることを確認してください。

+0

DB内にある「DATA_NASCITA」列のタイプは何ですか?また、[この記事](https://www.thoughts-on-java.org/hibernate-5-date-and-時間/)? – Morfic

+0

btw 'jpa 2.2'仕様には、デフォルト*仕様の*が含まれています – Eugene

+0

@morfic data_nascitaは日付フィールドです。私はすでにあなたがリンクしている記事を読んでいますが、答えが受け入れられたので、hibernate5.2からjava8の実装は5.2コアになっています! – Filippo1980

答えて

2

あなたの休止状態のバージョンが5.2.+より大きい場合は、単に以下のように列を使用してすることができます

@Column 
private LocalDate date; 

それ以外のあなたのプロジェクトへhibernate-java8モジュールをインストールする必要があります。

一方、ハイバネートバージョン> = 5.2の場合、hibernate-java8モジュールをプロジェクトにインストールしないでください。hibernate-java8モジュールが休止状態にマージされるため、多分競合が発生します。

+0

@ holy-javaあなたの答えをありがとう!私のpom.xmlファイルを変更した後、このアプリケーションを開発するために2つの異なるソフトウェアを使用することに起因する別の問題があります。Netbeansはこのエラーを返しました:[mypackage] .HibernateUtil.javaはシンボルシンボルを見つけることができません:class AnnotationConfiguration location :パッケージorg.hibernate.cfg – Filippo1980

+1

@ Filippo1980こんにちは、[AnnotationConfiguration](http://grepcode.com/file/repo1.maven.org/maven2/org.hibernate/hibernate-core/4.3.10.Final/org/ hibernate/cfg/AnnotationConfiguration.java#AnnotationConfiguration)がhibernate-5から削除されました。ハイバネートを '4.3.10'に、' hibernate-java8'を使って2番目の解決策を試すことができます。私はそれが正常に動作することができるか分からない。 –

+0

レジストリとメタデータを使用するためにHibernateUtilの書き換えを解決しました。 – Filippo1980

関連する問題