Eh bien, ce n'est qu'un mémo, alors j'ai pensé le tweeter sur Twitter, mais j'ose l'enregistrer avec qitta.
Lors de l'écriture de code à divers endroits tels que les applications pratiques de JPA, les exemples, les sites d'explication, etc., il existe de nombreux sites d'omission où l'explication est manquante car le paramètre Entité est effectué par copier-coller.
Par exemple, disons que vous disposez de l'exemple de code suivant
@Entity
@Table(name="users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="name")
private String name;
@Column(name="password")
private String password;
...
}
Question: Cela fonctionne-t-il seul?
Bonne réponse: ne fonctionne pas
Raison: cela ne fonctionne que si la clé est définie sur la base de données. Par exemple, dans MySQL, cela ne fonctionnera que si vous définissez AUTO_INCREMENT etc. dans la clé. ** ** Donc, si vous utilisez une table qui génère l'UUID etc. à partir de java et l'utilise comme clé, supprimez l'annotation @GeneratedValue.
Ne nous contactez pas en consultant des sites qui n'expliquent pas cela. .. ..
Conclusion: Lorsque vous utilisez @GeneratedValue, définissez également la base de données. Sinon, supprimez-le.
Recommended Posts