2017-01-20 2 views
0

DBにレコードを1つ挿入する必要がありますが、IDを渡す必要がある場合がありますが、IDを手動で挿入すると、 ID、春・ブートは新しいシーケンスからJPAでスプリングブートIDを保ちません

を得た、これは私のエンティティ

@Entity 
@Table(schema = "db_cartorio_inteligente", name = "tb_movimentacao") 
@SequenceGenerator(sequenceName="db_cartorio_inteligente.tb_movimentacao_seq", name = "tb_movimentacao_seq") 
public class TbMovimentacao { 
    @Id 
    @GeneratedValue(strategy= GenerationType.SEQUENCE, generator = "tb_movimentacao_seq") 
    private Long idMovimentacao; 

であり、これは、保存するための私のコードです:代わりに

TbMovimentacao novaMovimentacao = new TbMovimentacao(); 
novaMovimentacao.setIdMovimentacao(12323); 
this.movimentacaoRepository.save(novaMovimentacao); 

彼は次を得たのid 12323で保存します私の配列から

+0

あなた自身の 'Id'ジェネレータを作成しなければならないかもしれないと思いますが、[this](http://stackoverflow.com/q/3194721/3274974)それはあなたのユースケースのためのいくつかのソリューションを持っています。 – Edd

+0

参考までに:http://stackoverflow.com/questions/31158509/how-to-generate-custom-id-using-hibernate-while-it-must-be-primary-key-of-table。永続性プロバイダは、挿入前に主キーを割り当てているため、前に設定した値よりも優先されます – Barath

答えて

0

ジェネレータを使用するように定義したので、要求したとおりにIDを生成します。最初に設定することは、関連性のないものです。あなたがそれを設定したい場合は、ジェネレータを削除してください

関連する問題