我使用JPA和hibernate作为JPA提供程序连接到我的数据库。我在数据库中有一个名为的表
Candidates
这是我的JPA实体。
@Entity
public class Candidate {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
public long cid;
public String name;
@ManyToOne
@JoinColumn(name="userCharacter")
public UserCharacter userCharacter;
}
这是我代码中的一个随机JPA查询。
String queryStr = "SELECT new models.CandidateReport(c.cid, c.name, uc.rating) "
+ "FROM Candidate c JOIN c.userCharacter uc";
然后hibernate生成了sql作为
select candidate0_.cid as col_0_0_, candidate0_.name as col_1_0_, usercharac1_.rating as col_2_0_
from Candidate candidate0_
join UserCharacter usercharac1_
on candidate0_.userCharacter=usercharac1_.uid
表示实体
Candidate
不作为候选(复数)查询。在明确指定
@Table(name="Candidates")
问题得到解决。JPA或Hibernate是否会自动查询多个名称,例如,如果实体名为User,它是否会在数据库中查找用户表,我想它会,并且我缺少一些配置。