呼叫 crudrepository save((对于不是新事物的实体sql:更新卡设置id =?,customer_id =?... id =?
这会提出异常无法更新身份列'ID'
ID由数据库生成
使用的版本:1.0.6.Release&1.0.9.Release
db:mssql
为什么更新语句试图更新ID列,因为它是主要键?
实体:
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
@Table("card")
public class Card {
@Id
private Long id;
@Column("customer_id")
private String customerId;
...
存储库:
public interface CardRepository extends CrudRepository<Card, String> {
}
这听起来像https://jira.spring.io/browse/browse/datajdbc-262,该版本是1.1.M1
,该版本的当前版本是1.1.RC1
。
切换到该版本应该解决问题。
注意:我已经看到您仅使用尚未完全支持的MS-SQLServer提及的例外。
似乎您没有为ID设置ID生成策略。添加此并尝试是否有效。
@GeneratedValue(strategy = GenerationType.AUTO)