Is there a way to join tables in Spring Boot without using plain SQL strings which are not type safe? Currently using JBDC .
These methods here are not string safe: Joining two table entities in Spring Data JPA
In .NET, Entity Framework has a method in C#,
from u in db.Users
join ad in db.Address on u.Addressid equals ad.AddressId
select ..
Java Example:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
//...
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "address_id", referencedColumnName = "id")
private Address address;
// ... getters and setters
}
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
//...
@OneToOne(mappedBy = "address")
private User user;
//... getters and setters
}