36 lines
918 B
Java
Executable File
36 lines
918 B
Java
Executable File
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;
|
|
}
|
|
}
|