我有两个表:“用户”和“位置”。用户有零个、一个或多个位置。 Locations 表外键是相同的 userId。
table USERS(
userId VARCHAR,
name VARCHAR,
capacity SMALLINT
)
table LOCATIONS(
userId VARCHAR,
city VARCHAR
)
这些是我的实体:
@Entity
@Table(name = "USERS")
public class User {
@Id
@Column(name ="userId")
private String id;
...
@OneToMany
@JoinClolumn(name = "userId")
private Location location;
}
@Entity
@Table(name = "LOCATIONS")
public class Location {
@Id
@Column(name ="userId")
private String id;
...
}
资料库
@Repository
public interface UserRespository extends JpaRepository<User, String> {
@Query("SELECT user FROM User user LEFT JOIN user.location WHERE user.id = :id")
public Collection<User> findById(@Param("id") String id)
...
a) @Query("SELECT user FROM User user LEFT JOIN user.location WHERE user.name LIKE CONCAT(:name, '%')")
b) @Query("SELECT user FROM User user LEFT JOIN user.location")
c) @Query("SELECT user FROM User user LEFT JOIN user.location WHERE user.capacity = :capacity")
}
我错过了什么? 任何帮助将不胜感激