什么是JPA实体?

eng*_*gma 4 java database entities jpa

我开始使用JPA,我总是对实体的术语及其用法感到困惑,我已经阅读了很多,但我仍然不太明白.我阅读了它的Oracle文档,但它并没有真正解释它在事务中的作用.

什么是JPA enities?它们实际上是否保存每行的数据,我的意思是,它们是否存储了保存行数据的实例?或者他们只是映射数据库的表,然后插入和删除它们?

例如,如果我使用这个:

 entity.setUserName("michel");
Run Code Online (Sandbox Code Playgroud)

然后保持它,然后更改用户名,并再次persisitig(即合并它)

这是否会更改先前输入的用户名?还是在db中创建一个新行?

cde*_*zaq 13

当您从数据库角度思考时,从代码透视图或表中的行(基本上)进行思考时,实体与类的实例大致相同.

所以,它本质上是一个持久化/可持久化的类实例.更改它的值就像更改任何其他类实例上的值一样.不同之处在于您可以持久保存这些更改,通常,类实例(实体)的当前状态将根据数据库匹配中的主键覆盖该实例(实体)的行在数据库中的值.类实例(实体)中的"id"或类似字段.

当然,这种行为有例外,但总的来说这是正确的.