パーカー :
私は、SQLテーブルにウェブアプリにはいくつかの入力ラインを使用して新しい行を保存しようとしています。私のJSPは私が必要とするすべての入力行があります。しかし、私はそれの自動インクリメントため、新しいIDを入力せずに新しいオブジェクトを格納する必要があります。私は他のすべてが、IDを保存するために、私のコンストラクタを呼び出すことができますよ。そのセクションのための私のコードは、これまでのところです。
@RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView save
//Index connect
(@RequestParam("id") String id, @RequestParam("type") String animalType,
@RequestParam("name") String animalName, @RequestParam("age") int animalAge){
ModelAndView mv = new ModelAndView("redirect:/");
AnimalConstruct newAnimal;
newAnimal.setAnimalType(animalType);
newAnimal.setAnimalName(animalName);
newAnimal.setAnimalAge(animalAge);
animals.save(newAnimal);
mv.addObject("animalList", animals.findAll());
return mv;
だから私は「(ID)11、(タイプ)鳥、(名)パテ、(年齢)5」を保存したいと私は唯一の私は、IDのために何をすべき、種類、名前、年齢を入力可能を作ってるんですか?オブジェクトは、技術的に私が思う空としてIDを注入、その後私は、エラーがスローされます。私は、javaとSpringbootに非常に新しいですし、両方に非常に弱いスキルを持っています。
pedrohreis:
マジックは、(例えば、休止状態)JPAの実装で発生します。同じように、あなたのidフィールドに注釈を付けます:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
オブジェクトを保存すると、IDが自動生成され、保存されます。
:いくつかの類似した質問をチェックHibernateは自動インクリメントIDとHibernateがレコードを挿入して、適切に主キーのIDを自動生成する方法を