Spring Data Jpa

334 阅读1分钟
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
spring.jpa.hibernate.naming.physical-strategy =org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

一对一

@Entity
@Data
@GenericGenerator(name = "jpa-uuid", strategy = "uuid")
public class Husband {
    @Id
    @GeneratedValue(generator = "jpa-uuid")
    private String id;
    private String name;
    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "wife_id")
    private Wife wife;
}

一对一不能用 @OneToOne(mappedBy = "wife") 否则无限循环

@Entity
@Data
@GenericGenerator(name = "jpa-uuid", strategy = "uuid")
public class Wife {
    @Id
    @GeneratedValue(generator = "jpa-uuid")
    private String id;
    private String name;
    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "husband_id")
    private Husband husband;
}