Add Hibernate 7 batches 2-5: mapping styles, JPA annotations, natural IDs, @Immutable, stored procedures, in-memory test databases, JNDI mocking, proxies, associations, temporal mapping and named queries (Hibernate 7.4.5.Final + Spring Boot 4.1.1 + JDK 25)
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package com.ankurm.hibernatedemo.association;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
/**
|
||||
* The @MapsId fix: this entity carries NO inverse {@code @OneToOne} field at all. A profile is
|
||||
* looked up on demand with {@code session.find(MiProfile.class, userId)} because it shares the
|
||||
* same primary key value as the user (see {@link MiProfile}), so there is nothing to proxy and
|
||||
* nothing forces an eager join when loading a user.
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "mi_user")
|
||||
public class MiUser {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
private String username;
|
||||
|
||||
protected MiUser() {
|
||||
}
|
||||
|
||||
public MiUser(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user