主键与char

时间:2018-02-11 10:12:40

标签: java jdbc

我使用jtds驱动程序在sql server中有一个表作为主键char(1)。

public class Situacao{
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "cod_sit_pedi_aval")  
   private Character codSitPediAval;
}

public class Pedido{
  @ManyToOne
  @JoinColumn(name = "cod_sit_pedi_aval")
  private Situacao situacao;
}

但是当我更新时,我收到以下错误:

IJ031042: Method is not implemented by JDBC driver
Caused by: java.lang.AbstractMethodError 
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setCharacterStream(JtdsPreparedStatement.java:1274) 
    at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.setCharacterStream(WrappedPreparedStatement.java:1466)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

看起来已经为这些特定情况分配了bug,就像您在问题中提到的情况一样。

论坛上提到的其中一个可能的解决方案是切换到sqljdbc4而不是您当前使用的jTDS jar的JDBC版本。这个补丁没有可用的版本,虽然这不是一个难以破解的但是可能不可靠!

希望这能很好地回答你的问题!