Hibernateを使用してPOJOのUUID
カラムをSQL Serverテーブルのカラムにマップしようとしています。Java HibernateとSQL ServerのUUIDの表現が異なります
次のように注釈が適用されます。
@Id
@GeneratedValue
@Column(name = "Id", columnDefinition = "uniqueidentifier")
public UUID getId(){ ... }
しかし、JavaのHibernateのマッピングおよびSQLサーバの間にいくつかのエンディアンの問題があるようです。
例えば、私のJavaアプリで、私のように表さIDS持っている:SQL Serverで、これらは次のように表現されるのに対し、
4375CF8E-DEF5-43F6-92F3-074D34A4CE35
ADE3DAF8-A62B-4CE2-9D8C-B4E4A54E3DA1
:
8ECF7543-F5DE-F643-92F3-074D34A4CE35
F8DAE3AD-2BA6-E24C-9D8C-B4E4A54E3DA1
を同じ表現を持っているどのような方法があります両側に?
uniqueidentifier
は、タイプbinary
の代わりにuniqueidentifier
の型付きIDをSQLサーバーに持つためにのみ使用されています。アノテーションからuniqueidentifier
が削除された場合にも同じ問題が発生します(binary
がuniqueidentifier
に変換されることによって問題が発生する可能性があります)。
はhttp://stackoverflow.com/questions/5745512/how-to-read-a-net-guid-into-a-java-uuidに関連しています –
はhttp://stackoverflow.com/questionsに関連しています/ 22402929/uuid-madness-with-mssql –
関連:https://stackoverflow.com/a/48918942/2102158 –