2017-07-11 13 views
0

プロジェクションを使用しようとしていて、次のエラーが発生しています。問題が何であるかはわかりません。ここでSpringデータJPAマッピング例外JDBCタイプのダイアレクトマッピング:-9

は投影である:ここでは

public interface UserMini { 

    Long getApproverKey(); 
    String getEmailAddress(); 
    String getFirstName(); 
    String getLastName(); 
    Long getUserKey(); 
    String getUserName(); 

} 

は、クエリは、リポジトリにある:ここでは

@RestResource(path="getUserMini") 
@Query(value="SELECT approverKey, emailAddress, firstName, lastName, userKey, userName FROM [dbo].BdmUser WHERE userKey = :userKey ", nativeQuery=true) 
UserMini getUserMini(@Param("userKey") long userKey); 

は、Entity

@Table (name="[BdmUser]") 
@Entity 
public class BdmUser { 

@Id 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
private Long userKey; 

private Long priceListKey; 
private String firstName; 
private String lastName; 
private String userName; 
private String emailAddress; 
private String password; 
private Boolean active; 
private Long approverKey; 
private BigDecimal orderLimit; 
private Long salesOfficeKey; 
private Long reportsToId; 
private Boolean requiresOrderApproval; 
private Date lastLoginDate; 
private String rowIsCurrent; 
private Date rowStartDate; 
private Date rowEndDate; 

@Column(name="HashByteValueType1", updatable=false, insertable=false) 
private String hashByteValueType1; 
@Column(name="HashByteValueType2", updatable=false, insertable=false) 
private String hashByteValueType2; 
private String rowChangeReason; 
@Column(name="DQScoreKey") 
private Integer  dqScoreKey; 
private Integer  insertAuditKey; 
private Integer  updateAuditKey; 
+0

-9は 'java.sql.Types.NVARCHAR'です。かなり一般的です。どのような方言を使っていますか? –

+0

sqlserver.datasource.databaseプラットフォーム= org.hibernate.dialect.SQLServerDialect – Don

+0

\t パブリッククラスCustomSQLServer2012Dialectは{ \tパブリックCustomSQLServer2012Dialect(){ をSQLServer2012Dialectを拡張... SQLServer2012Dialectに設定して無駄にカスタム方言を作成してみました\t super(); \t registerHibernateType(NVARCHAR、StringType.INSTANCE.getName()); \t} \t} – Don

答えて

0

がでVARCHARにNVARCHARをキャストしてみていますあなたのお問い合わせ

CONVERT(varchar,theNVarcharColumn) 
+0

ありがとうございました。これはJDBC-9の問題を解決しましたが、結果は返されませんでした。 CONVERT(varchar、emailName)をfirstName、CONVERT(varchar、lastName)をlastName、userKey、CONVERT(varchar、userName)として指定します。 as userName FROM [dbo] .BdmUser where userKey = 13636 – Don

関連する問題